Подтвердить что ты не робот

Linux tee не работает с python?

Я создал python script, который связывается с веб-сервером с использованием бесконечного цикла. Я хочу записывать каждый файл данных в файл, а также контролировать их с терминала в одно и то же время. поэтому я использовал команду tee следующим образом.

python client.py | tee logfile

однако я ничего не получил от терминала или журнала. python script работает нормально. что здесь происходит? я что-то пропустил?

некоторые советы будут оценены. заранее спасибо.

4b9b3361

Ответ 1

От 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 xreadlines(), 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.read‐
          line()" inside a "while 1:" loop.

Итак, что вы можете сделать:

/usr/bin/python -u client.py >> logfile 2>&1

Или используя tee:

python -u client.py | tee logfile