Я пишу python в Linux. Я хочу записать вывод и ошибку python в разные файлы, а не выводить их на консоль.
Скажите, есть ли у меня этот файл Python example.py:
print('console output')
print(1/0)
Пробовал по другому.
1. Выполнив следующую команду python example.py >output 2>log
2. Обновите example.py.
logf = open("./log", "w")
try:
print('console output')
print(1/0)
except Exception as e:
logf.write(str(e))
и запустите python example.py >output
Логи разные. 1-й способ:
Traceback (most recent call last):
File "try.py", line 2, in <module>
print(1/0)
ZeroDivisionError: division by zero
и для 2-го метода:
division by zero
Итак, я хочу спросить:
Спасибо за помощь с моими вопросами.






Чтобы объединить как stdout, так и stderr в один файл, что также полезно при использовании команды more (или less)
python example.py 2>&1 > output
python example.py 2>&1 | more
Чтобы каждый помещался в отдельные файлы
python example.py 2> error > output
Игнорировать Stederr
python example 2>/dev/null
Надеюсь это поможет.
Что касается вашего первого вопроса, похоже, вы спрашиваете, как вывести трассировку, а не просто сообщение об ошибке - помогает ли эта почта?