2013-08-12 1 views
0

Если бы я должен был иметь следующий фрагмент кода:Выполнение сценария в сценарии, но продолжая при ошибке (ы) и сохранение их в файл

try: 
    execfile("script.py") 
except ## unsure what exception goes here... 
    continue: 
try: 
    execfile("other.py") 
except ## unsure what exception goes here... 
    continue: 

Как поймать все ошибки из script.py сохранить это файл, а затем продолжить на следующий вызываемый скрипт

У кого-нибудь есть идеи или подсказки?

+1

заменить «продолжить» с каким-то кодом, который записывает ошибку в файл? –

+0

@GiwrgosTsopanoglou Я не знал, как это сделать, ловушка ошибки - вот где я застрял. На самом деле простые вещи иногда могут быть слишком очевидными, как в данном случае. – Ryflex

+0

Да, я знаю, что вы имеете в виду. Я думаю, что ответ rogaos дал, вы отклеились :) –

ответ

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() 
+0

Хм, это проще, чем я ожидал. Спасибо, что так много, повышайте и принимайте свой ответ :) – Ryflex

1
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 
+0

Интересный способ сделать это, я буду использовать это, а также версию рогоа. – Ryflex