如何在python中关闭文件而不赋值给变量

8 投票
2 回答
2101 浏览
提问于 2025-04-17 05:10

在Python中,如果你用这种方式打开一个文件:

line = open("file.txt", "r").readlines()[7]

那么你需要在使用完这个文件后把它关闭。关闭文件是为了释放系统资源,避免内存浪费。

你可以使用下面的代码来关闭文件:

file = open("file.txt", "r")

line = file.readlines()[7]

file.close()

这样,你先打开文件,读取第八行(因为索引是从0开始的),然后再关闭文件。记得一定要关闭文件哦!

2 个回答

0

有几种方法可以做到这一点,比如你可以直接用 f = open(...) 来打开文件,然后用 del f 来删除它。

如果你的Python版本支持的话,你还可以使用 with 语句:

with open("file.txt", "r") as f:
    line = f.readlines()[7]

这样做会自动关闭你的文件。

编辑:我不明白为什么我解释如何正确处理文件会被投反对票。也许 “不分配变量” 这种方式就是不太受欢迎吧。

4

最好使用上下文管理器。这样在代码块结束时,文件会自动关闭,不用担心垃圾回收的具体实现细节。

with open("file.txt", "r") as f:
    line = f.readlines()[7]

撰写回答