Я создал скрипт python, который связывается с веб-сервером с использованием бесконечного цикла. Я хочу регистрировать все данные связи в файл, а также контролировать их с терминала в одно и то же время. поэтому я использовал команду tee следующим образом.linux tee не работает с python?
python client.py | tee logfile
Однако я ничего не получил от терминала или журнала. скрипт python работает нормально. Что здесь происходит? Я что-то упустил?
какой-либо совет будет оценен. благодарим вас заранее.
Буферизация ведет себя по-разному для труб и терминалов. Вам может потребоваться выполнить явное 'sys.stdout.flush()' из вашего скрипта всякий раз, когда вы регистрируете строку. –
Это буферизация! Скажем 'python -u client.py | tee logfile' вместо этого. – devnull
Для других способов запуска небуферизованного вывода см. Http://stackoverflow.com/q/107705/1328439 –