Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 12, 2011 12:42:03

Brain89
От:
Зарегистрирован: 2011-04-11
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Перенаправление print

Есть ли возможность одновременной записи в несколько потоков. Т.е. сейчас:

print >> open("/1.txt", "a"), "{0}".format(variable)
print >> open("/2.txt", "a"), "{0}".format(variable)
А хотелось писать отформатированную строку сразу в два потока. Есть ли такая возможность?



Офлайн

#2 Апрель 12, 2011 13:25:15

o7412369815963
От:
Зарегистрирован: 2009-06-17
Сообщения: 1986
Репутация: +  32  -
Профиль   Отправить e-mail  

Перенаправление print

подменить приемник

class My(object):
def write(self,str):
print 1,str,
print 2,str,

my = My()

print >> my, 'hello world'

Офлайн

#3 Апрель 12, 2011 16:10:29

Brain89
От:
Зарегистрирован: 2011-04-11
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Перенаправление print

Спасибо. О таком сразу подумал. Стало интересно, есть ли возможность организовать поток вывода как в C++ (т.е.

cout << str1 << str2 << str3;
)



Офлайн

#4 Апрель 12, 2011 16:57:30

agalen
От:
Зарегистрирован: 2011-03-23
Сообщения: 185
Репутация: +  17  -
Профиль   Отправить e-mail  

Перенаправление print

import sys

class My:
def __init__( self, file ):
self.file = file

def __lshift__( self, obj ):
self.file.write( str( obj ) )
return self

cout = My( sys.stdout )
endl = "\n"

cout << "One " << 1 << " and " << 2 << endl;



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version