Как перенаправить вывод Python на консоль Python и текстовый файл в Windows - PullRequest
0 голосов
/ 04 июля 2018

У меня есть скрипт Python_1, который будет использоваться для вызова другого скрипта Python_2 с использованием подпроцесса. Когда я это делаю, я вижу так много операторов вывода и вывода на консоли python (или cmd). Как я могу перенаправить этот вывод в файл вместе с отображением вывода на консоли python.

По сути, мне нужна исполняемая команда windows для ' | & tee ' команды Linux. Я перепробовал много методов, и все они не работали.

Спасибо за помощь. :)

1 Ответ

0 голосов
/ 04 июля 2018

Вы можете использовать CMD:
python script.py >> out.txt
Для перенаправления поставить программно: Поскольку вывод кода Python является stdout, вы можете перенаправить его в файл, будет создан файл с выводом внутри, обратите внимание, что рекомендуется сохранить исходное stout в var на тот случай, если вы захотите что-то вывести в оболочку позже:

import sys
#store the original stdout object
original = sys.stdout
#open a txt file to store the stdout
sys.stdout = open('stdout.txt', 'w')

#Goes to stdout.txt
print('this is a txt file')

#restore the original stdout
sys.stdout = original

#Goes to shell output
print('this is python interpreter')

подробнее:
Невозможно перенаправить вывод при запуске скрипта Python в Windows, используя только имя скрипта
https://stackoverflow.com/a/3021809/8094047
https://www.blog.pythonlibrary.org/2016/06/16/python-101-redirecting-stdout/

...