Как перенаправить вывод Python на консоль Python и текстовый файл в Windows

1

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

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

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

  • 0
    Пожалуйста, поделитесь своим кодом.
  • 1
    Решение Pure Python: используйте пакет logging с двумя обработчиками (один вход в stderr и один вход в файл).
Показать ещё 2 комментария
Теги:
logging
cmd

1 ответ

0

Вы можете использовать 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/

Ещё вопросы

Сообщество Overcoder
Наверх
Меню