LINUX.ORG.RU

Ответ на: комментарий от true_admin
Python 3.2.3 (default, Mar 21 2013, 20:51:04) 
[GCC 4.7.2] on linux2

Gentoo, та же фигня, на 2.7 не буферизирован

vladkuzm
()

Я не знал что он в других местах не буферизован;-)

AIv ★★★★★
()

истеричне белки такие истеричне

можно отключить буфферизацию для всего процесса «python -u» или

#!/usr/bin/env python -u
а также установкой переменной PYTHONUNBUFFERED

а еще вот так

class Unbuffered:
   def __init__(self, stream):
       self.stream = stream
   def write(self, data):
       self.stream.write(data)
       self.stream.flush()
   def __getattr__(self, attr):
       return getattr(self.stream, attr)

import sys
sys.stdout=Unbuffered(sys.stdout)
print 'Hello'

iSlava
()
[brain@ThinkPad-X230 ~]$ python2 --version
Python 2.7.5
[brain@ThinkPad-X230 ~]$ python3 --version
Python 3.3.2
i_gnatenko_brain ★★★★
()

sys.stderr.flush()

anonymous
()
Ответ на: комментарий от hatefu1_dead
$ man python
       -u     Force  stdin,  stdout  and  stderr to be totally unbuffered.  On
              systems where it matters, also put stdin, stdout and  stderr  in
              binary  mode.   Note  that there is internal buffering in xread‐
              lines(), readlines() and file-object  iterators  ("for  line  in
              sys.stdin")  which  is  not  influenced by this option.  To work
              around this, you will want to use "sys.stdin.readline()"  inside
              a "while 1:" loop.
Python 2.7.4 (default, Apr 19 2013, 18:28:01) 
[GCC 4.7.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.stderr.flush
<built-in method flush of file object at 0x7f6338c9c1e0>
iSlava
()
Последнее исправление: iSlava (всего исправлений: 1)
Ответ на: комментарий от iSlava

#!/usr/bin/env python -u

сам-то пробовал так запускать? Хинт: линух так не умеет.

А рецепты я знаю, спасибо.

true_admin ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.