亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在python中,如何忽略異常并處理奇數代碼?

在python中,如何忽略異常并處理奇數代碼?

蝴蝶不菲 2022-05-24 15:11:22
樣本:with suppress(Exception)    os.remove('test1.log')    os.remove('test2.log')try:    os.remove('test1.log')    os.remove('test2.log')except:    pass如果 test1.log 因為FileNotFoundError不存在,則不會刪除 test2.log 。那么異常發生后如何處理奇數代碼,或者如何防止異常被拋出呢?
查看完整描述

3 回答

?
紅顏莎娜

TA貢獻1842條經驗 獲得超13個贊

如果觸發了try-except異常,它將進入該except部分而不是從那里繼續。因此,如果您想確保兩者remove都嘗試過,請執行以下操作:


try:

    os.remove('test1.log')

except:

    pass


try:

    os.remove('test2.log')

except:

    pass

或者,您可以在刪除文件之前嘗試檢查文件是否存在:


if os.path.exists('test1.log'):

   os.remove('test1.log')

if os.path.exists('test2.log'):

   os.remove('test2.log')


查看完整回答
反對 回復 2022-05-24
?
牧羊人nacy

TA貢獻1862條經驗 獲得超7個贊

tituszban 已經給出了一個有效的解決方案。您也可以簡單地將您的語句放入一個 for 循環中,這是一種較短的語法,因為您不必重復您的 try-catch 塊(在嘗試刪除超過 2 個項目時特別有用)。


lst = ["test1.log","test2.log"]

for element in lst:

    try:

        os.remove(element)

    except:

        pass


查看完整回答
反對 回復 2022-05-24
?
藍山帝景

TA貢獻1843條經驗 獲得超7個贊

正如副本所解釋的那樣,您不能只抑制異常。


你可能想要這樣的東西:


files = ["test1.log", "test2.log"]

for file in files:

    try:

        os.remove(file)

    except:

        pass


查看完整回答
反對 回復 2022-05-24
  • 3 回答
  • 0 關注
  • 178 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號