Перенаправление вывода Python - PullRequest
0 голосов
/ 10 сентября 2018

Когда я запускаю интерпретатор python3 на компьютере с Linux и пытаюсь перенаправить его stdout в файл, подобный этому, ничего не происходит:

user@workmachine:~$ python3 > python.txt
Python 3.5.2 (default, Nov 23 2017, 16:37:01) 
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
\>>>

Файл python.txt остается пустым, пока работает интерпретатора также после того, как он был закрыт.Все его выходные данные все еще находятся в терминале.

С другой стороны, если я перенаправляю интерпретатор R таким же образом (R > R.txt), результат будет ожидаемым (все выходные данные перенаправляются в файл, ничего не вижув терминале).

Какая разница?Python записывает все свои выходные данные в другой поток, чем stdout, или что?

1 Ответ

0 голосов
/ 10 сентября 2018

В вашем случае Python отправляет информацию в STDERR, а не в STDOUT. Поэтому вы должны использовать перенаправление как:

user@workmachine:~$ python3 2> python.txt
...