python – 逐行文件处理,for-loop vs with
我正在努力了解这些之间的折衷/差异
with open('data.txt') as inf: for line in inf: #etc VS for line in open('data.txt'): # etc 我明白使用确保文件关闭时 Re for-loop:从搜索网络和SO,似乎是否文件 如果我错了以上的任何东西,我会欣赏更正, 解决方法这个问题for line in open('data.txt'): # etc 是不是明确的引用打开的文件,那么你如何关闭它? 所以你可以说 inf = open('data.txt') for line in inf: # etc inf.close() 现在如果在for循环中出现异常,会发生什么?该文件将不会明确关闭. 添加一个try / finally inf = open('data.txt') try: for line in inf: # etc finally: inf.close() 这是很多代码来做一些非常简单的操作,所以添加了Python,以便以更可读的方式写这个代码.这让我们来到这里 with open('data.txt') as inf: for line in inf: #etc 所以,这是打开文件的首选方法.如果您的Python对于with语句来说太旧了,您应该使用try / finally版本的生产代码 (编辑:甘南站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |