Python:使用语句和执行处理

2024-04-20 13:41:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我给出以下代码片段, 在代码的末尾,我得到了一个空白的输出文件

在with上下文中,当引发异常时,文件将关闭,并在下一次迭代中再次重写

with open('output', 'w') as f:
    try:
        for i in range(1, 100):
             if i % 2 == 0:
                 f.write('%d \n' % i)
             else:
                 raise Exception()
    except Exception as e: 
        pass

我的理解正确吗? 如果是,为什么会有这种行为?因为我正在处理异常。你知道吗

with语句总是关闭文件对吗 每当在侧块中引发异常时。你知道吗

使用with语句有什么可能的解决方案?你知道吗


Tags: 文件代码inforoutputifaswith
1条回答
网友
1楼 · 发布于 2024-04-20 13:41:14

当使用try/except块时,try块在except块完成时不继续。你知道吗

一个可能的解决方案是用pass语句代替raise Exception()语句,该语句当前引发了一个无意义的异常。你知道吗

事实上,你应该读一点关于when to use exceptions的书。你知道吗

相关问题 更多 >