我正在使用python 2.x,正在浏览公司代码,发现代码如下:
filename = open('text.json', 'r')
# doSomething()
filename.close()
我习惯于这样读取文件:
with open('text.json', 'r') as filename
# doSomething()
谁能解释一下有什么区别?
答案 0 :(得分:0)
第二个通常与上下文管理器一起使用,因此您可以这样做
with open('text.json', 'r') as filename:
#your code
您可以使用filename
别名访问文件。
这样做的好处是上下文管理器会为您关闭文件。
如果您是第一个示例手动操作,则在使用filename.close()
以避免文件锁定后需要手动调用
答案 1 :(得分:0)
在python中打开文件时,必须记住在完成操作后将其关闭。
第一行:
文件名= open('text.json','r')
您需要记住要关闭文件。
您拥有的第二个版本通常是这样使用的:
<meta name="DESCRIPTION" content="<?php echo isset($group['my_meta_desc']) ? $group['my_meta_desc'] : $description ?>">
这将在代码块运行后自动关闭文件。
另一个区别是您将文件对象命名为“文件名”的方式。您最终会在两个对象中得到同一个对象,只是以两种不同的方式对其进行命名。