python - open().read() 安全吗?

标签 python file

我编写了很多 Python 代码,我只想将文件读取到变量中。我知道推荐的两种方式是这些 -

with open('file') as f:
    data = f.read()

# or

fo = open('file')
data = f.read()
fo.close()

我的问题是,这有什么缺点?

data = open('file').read()

最佳答案

缺点

data = open('file').read()

是取决于您的 Python 实现,打开文件对象的清理可能会或可能不会立即发生。这意味着文件将保持打开状态,使用文件句柄。这对于单个文件来说可能不是问题,但在循环中肯定会出现问题。

具体而言,CPython(通常的 Python 实现)使用引用计数对象,因此文件关闭几乎可以肯定立即发生。但是,对于 IronPython 或 Jython 等其他实现而言,情况不一定如此。

关于python - open().read() 安全吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9831097/

相关文章:

python - 在 pandas 中检查一个数据帧与另一个数据帧的值的快速方法

file - Xamarin.Forms FileStream - 找不到文件

使用 fopen 将当前文件名更改为其他文件名

java - 是否可以以这样的方式编写一个文本文件,当 Java 编译器读取时,它会在某些点添加换行符?

c++ - ifstream.read 只读取文件的一半

python - 没有任何依赖项的pyinstaller exe?

python - R/Python/Julia 中 Matlab 的类型转换函数的等价物是什么

python - 如何使用 Python 中的 Rest API 进行身份验证并从 Azure 数据目录获取目录

python - 如何设置绘制文本的背景颜色?

java - 写入文件不会写入