在python中,如何忽略异常并处理奇数代码?

样本:


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 。那么异常发生后如何处理奇数代码,或者如何防止异常被抛出呢?



蝴蝶不菲
浏览 140回答 3
3回答

红颜莎娜

如果触发了try-except异常,它将进入该except部分而不是从那里继续。因此,如果您想确保两者remove都尝试过,请执行以下操作:try:    os.remove('test1.log')except:    passtry:    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')

牧羊人nacy

tituszban 已经给出了一个有效的解决方案。您也可以简单地将您的语句放入一个 for 循环中,这是一种较短的语法,因为您不必重复您的 try-catch 块(在尝试删除超过 2 个项目时特别有用)。lst = ["test1.log","test2.log"]for element in lst:    try:        os.remove(element)    except:        pass

蓝山帝景

正如副本所解释的那样,您不能只抑制异常。你可能想要这样的东西:files = ["test1.log", "test2.log"]for file in files:    try:        os.remove(file)    except:        pass
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python