Выполнение скрипта внутри скрипта, но продолжение с ошибками и сохранение их в файл
Если бы у меня был следующий бит кода:
try:
execfile("script.py")
except ## unsure what exception goes here...
continue:
try:
execfile("other.py")
except ## unsure what exception goes here...
continue:
Как мне перехватить все ошибки из script.py, сохранить их в файл и затем перейти к следующему вызываемому скрипту?
У кого-нибудь есть идеи или подсказки?
2 ответа
Решение
errors = open('errors.txt', 'w')
try:
execfile("script.py")
except Exception as e:
errors.write(e)
try:
execfile("other.py")
except Exception as e:
errors.write(e)
errors.close()
import traceback # This module provides a standard interface to extract,
# format and print stack traces of Python programs.
try:
execfile("script.py")
except:
traceback.print_exc(file=open('script.traceback.txt', 'w')) # Writing exception with traceback to file script.traceback.txt
# Here is the code that will work regardless of the success of running a script.py