python - 关闭列表理解中的文件句柄

标签 python list-comprehension

假设我想从文件中读取所有行并将其存储为 字符串列表。 我可以使用:

filename = "/path/to/the/file/data.txt"
fileBuf = [line.strip() for line in open(filename, "r")]

我的问题是,由于文件句柄未命名,我该如何关闭它? 会自动关闭吗?

最佳答案

它可能是垃圾收集的,但推荐的方法是使用 with 上下文。您甚至可以用一行完成:

with open(filename, "r") as f: fileBuf = [line.strip() for line in f]

关于python - 关闭列表理解中的文件句柄,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41876225/

相关文章:

python - 创建一个包含 bool 值的列表,这些 bool 值表示应用于列表时谓词的结果

python - 访问 UnivariateSpline 曲线上的值

python - 如何在 tensorflow 服务中添加新模型

python - 支持 GPU 的 Python CNTK 2.0 在 Anaconda 3 4.4.0、Windows 10 Pro 64 位中似乎因 100% CPU 线程工作负载而挂起

python - 如何将元组列表解压缩到单个列表中?

haskell - 使用 map 和 concat 将列表推导式转换为定义

python - 这是 flake8 误报,还是我真的做错了什么?

python - 在 python 中排除以下划线开头或长度超过六个字符的文件夹

python - 从命令行触发 Django Signal

python - “密集”对象没有属性 'op'