同樣是if file 為啥圖一不報錯 圖二畫黑線 提示要加成全域變數?

uj5u.com熱心網友回復:
第一個是不管怎么樣,是正常運行,還是出錯,都有file打開,所以if file沒有問題第二個,如果try打不開,則file 是空的,應該是提示沒有定義吧
uj5u.com熱心網友回復:
對對好像就是提示沒定義 要改成全域變數原來是因為如果沒打開file就沒定義嗎?
uj5u.com熱心網友回復:
對對好像就是提示沒定義 要改成全域變數
原來是因為如果沒打開file就沒定義嗎?
uj5u.com熱心網友回復:
可以按檔案錯誤型別在except里設定處理,不要在finally
uj5u.com熱心網友回復:
第一個是不管怎么樣,是正常運行,還是出錯,都有file打開,所以if file沒有問題
第二個,如果try打不開,則file 是空的,應該是提示沒有定義吧
對對好像就是提示沒定義 要改成全域變數
原來是因為如果沒打開file就沒定義嗎?
可以按檔案錯誤型別在except里設定處理,不要在finally
但是這里好像說要保證finnally的代碼無論正常例外必須執行 不能寫except
uj5u.com熱心網友回復:
第一個是不管怎么樣,是正常運行,還是出錯,都有file打開,所以if file沒有問題
第二個,如果try打不開,則file 是空的,應該是提示沒有定義吧
對對好像就是提示沒定義 要改成全域變數
原來是因為如果沒打開file就沒定義嗎?
可以按檔案錯誤型別在except里設定處理,不要在finally
而且最神奇的的就是 老師這么寫沒有黑線沒報錯…
現在我們用with as替換了 沒有用try finally 但還是覺得很迷
uj5u.com熱心網友回復:
估計都是那個是沒有出錯,打開就是有學號的,你這個是沒有的uj5u.com熱心網友回復:
估計都是那個是沒有出錯,打開就是有學號的,你這個是沒有的
哦哦 意思是他以前運行過已經被定義了嗎?
uj5u.com熱心網友回復:
with open(file_name, 'r',endcode=("utf-8")) as f:
stu_read = f.readlines
直接with open這樣不香嗎,一個try和except搞定,finnaly都不要
uj5u.com熱心網友回復:
with open(file_name, 'r',endcode=("utf-8")) as f:
stu_read = f.readlines
直接with open這樣不香嗎,一個try和except搞定,finnaly都不要
with open確實香 我們后頭就是講的這個
問這個的時候還沒講 想曉得這個問啥子出錯
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/66809.html
