2016-01-20 13 views
0

我有一個程序,讀取yaml配置,只能讀取。我想知道這下面的一個是更Python對於yaml負載使用開放與

try: 
    config = yaml.load(open(filepath)) 
except Exception as error: 
    print error 

VS使用with語句

try: 
    with open(filepath) as f: 
     config = yaml.load(f) 
except Exception as error: 
    print error 

我喜歡第一個導致其簡單的閱讀和因爲沒有寫我不認爲文件關閉將會出現問題。思考?

+0

第二個似乎更好 – tinySandy

+0

第一個泄漏文件描述符。 – larsks

+0

不要忘記關閉文件一旦不需要它了 – haifzhan

回答

0

使用第二個。從文檔:

在處理文件 對象時,最好使用with關鍵字。這具有如下優點:在 其套件結束後,即使在路上引發異常,該文件也能正確關閉。

+0

https://docs.python.org/2/tutorial/inputoutput.html –