2015-03-31 22 views
1

我正在爲在命令窗口中運行的python腳本設置日誌文件,以便記錄腳本中的所有輸入和輸出。我使用的是:使用Python的'with open()'寫一個日誌,我怎樣才能寫入例外到我的日誌?

with open("file.txt") as file: 

,這樣它仍然會保存所有如果出現異常它寫的文字。

但是我想知道是否有辦法讓它記錄異常呢?基本上寫一個最後的消息,然後關閉該文件作爲退出功能?

似乎只有一點關於open()本身的文檔。但我不確定這意味着它的使用是否有限。

回答

2

爲什麼不明確地捕獲異常並重新拋出:

with open("file.txt") as file: 
    try: 
     <do_something> 
    except Exception as e: 
     file.write(e) 
     raise 

挑戰在於,如果該異常是試圖寫入文件生成。

+0

這很有道理,我理想地希望在初始行添加一些整齊的語法,但是這會在函數中加載很多。寫入文件引發異常至少是一個非常明顯的問題。這是我正在寫給其他人使用的腳本,我擔心錯誤會出現,他們將無法向我解釋發生了什麼事情,如果我沒有添加此代碼,日誌中也沒有記錄。 – SuperBiasedMan 2015-04-01 08:19:24

相關問題