486_python finally的使用

博主一直使用Python编写简单批处理脚本,对语言编码细节不熟悉。通过学习Google的Python编码规范,初步了解了finally的用法。通过编写测试例子对比,发现使用finally可在不同情况下确保文件正常关闭,体现了其在处理异常时的优势。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

         全部学习汇总: https://github.com/GreyZhang/python_basic

         这几年我也一直在用python,但是只是写一点点简单的批处理脚本而已。有很多语言编码的细节还是不熟悉。今天晚上看了Google的python编码规范,里面还是有一些不熟悉的地方的。

         在里面有上面这一段,其中提到了finally的用法。而之前,我基本上只是try/except基本上就OK了。今天,从最基础的使用上初步了解一点finally的使用。按照上面的说法,这个通常是用了做一些清理的工作,那么我也尝试写一个这样的测试例子。

         运行效果:

         这个例子,其实只是看得出软件运行了而已。为了对比,我写一个对比的例子。

         运行效果:

         看的出,出错的时候,有一个文件其实是没有正常关闭的。如何实现两种情况都可以关闭呢?我们自然是可以写重复的代码,但是还有一个其他的方式,那就是finally的使用。具体如下:

         运行效果:

         看得出,不管是是否出了问题,都成功的关闭了文件。

         继续修改,看一个另一个方面的差异:

         增加了except的分支,这种情况的运行效果:

         这个其实就能够看得出,不使用和使用的差异了啦。这种情况下,即使是使用了except的分支,其实也有不能够正常关闭文件的风险。然而,如果使用了finally分支之后,就可以全都处理掉。当然,这个并不是绝对的,还是有一些其他的转弯的手段做一些更灵活的处理,但是从最简单的使用方式上有一定的说明力。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值