一個比較深入點的with as流程問題
with open('11.txt') as f5:
????print 'with-as print:',int(f5.read())
這兩行代碼敲出來如果出現了錯誤(11.txt不存在 或者 txt中字符的格式無法轉成int格式),那么解釋器返回錯誤并且文件無法正常關閉。
但是在之后深入講解with as流程的時候,過程是:
1、進入__enter__.
2、執行語句,如果出現異常,則跳轉到__exit__,然后返回異常.
3、執行語句,如果正常運行,則運行完語句運行__exit.
那么既然出現異常跳轉到__exit__用來關閉文件之后,再返回異常,在上面的例子中,為什么在語句出現異常的時候文件無法正常關閉呢。
2018-02-04
文件不存在關個?