打开文件差异Python

时间:2018-10-24 19:10:36

标签: python python-2.7

我正在使用python 2.x,正在浏览公司代码,发现代码如下:

filename = open('text.json', 'r')
# doSomething()
filename.close()

我习惯于这样读取文件:

with open('text.json', 'r') as filename
# doSomething()

谁能解释一下有什么区别?

2 个答案:

答案 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 ?>">

这将在代码块运行后自动关闭文件。

另一个区别是您将文件对象命名为“文件名”的方式。您最终会在两个对象中得到同一个对象,只是以两种不同的方式对其进行命名。