gpt4 book ai didi

python - 在python中打开和关闭没有文件对象的文件

转载 作者:太空狗 更新时间:2023-10-30 00:29:52 25 4
gpt4 key购买 nike

使用文件对象打开和关闭文件:

fp=open("ram.txt","w")
fp.close()

如果我们想在不使用文件对象的情况下打开和关闭文件,即;

open("ram.txt","w")

我们需要写close("poem.txt")还是写close()就可以了?

他们都没有给出任何错误...

仅通过编写 close() ,它如何理解我们正在引用的文件?

最佳答案

对于内存中的每个对象,Python 都会保留一个引用计数。只要周围不再有对象的引用,它就会被垃圾回收。

open() 函数返回一个文件对象

f = open("myfile.txt", "w")

在上面的行中,您在变量 f 中保留了对对象的引用,因此文件对象保持存在。如果你这样做

del f

然后文件对象就没有引用了,会被清理掉。它将在此过程中关闭,但这可能需要一些时间,这就是为什么最好使用 with 结构。

但是,如果你只是这样做:

open("myfile.txt")

然后文件对象被创建并立即再次被丢弃,因为没有对它的引用。它消失了,关闭了。你不能再关闭它,因为你不能说出你到底想关闭什么。

open("myfile.txt", "r").readlines()

为了计算整个表达式,首先调用 open,它返回一个文件对象,然后调用 readlines 方法。然后返回结果。由于现在没有对文件对象的引用,它会立即再次被丢弃。

关于python - 在python中打开和关闭没有文件对象的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22070063/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com