Я пишу Python в Linux. Я хочу записать вывод 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
Итак, я хочу спросить:
- почему два журнала разные? И как сделать 2-й вывод таким же, как 1-й.
- Какой лучший способ записи ошибок в файлы? Или есть лучший способ сделать это.
Спасибо за помощь с моими вопросами.