У меня есть скрипт python_1, который будет использоваться для вызова другого скрипта python_2 с использованием подпроцесса. Когда я это делаю, я вижу так много операторов печати и вывода на консоли python (или cmd). Как я могу перенаправить этот вывод в файл вместе с отображением вывода на консоли python.
В принципе, мне нужна исполняемая команда windows для ' | & tee '
' | & tee '
от Linux. Я пробовал много методов, и все это не сработало.
Спасибо за помощь. :)
Вы можете использовать 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, используя только имя скрипта
qaru.site/questions/8622/...
https://www.blog.pythonlibrary.org/2016/06/16/python-101-redirecting-stdout/
logging
с двумя обработчиками (один вход в stderr и один вход в файл).