正在关闭作为对象{str}打开的文件

2024-10-03 11:20:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用.read()方法打开一个文件bug_html_file。Python将它用作内存中的{str}对象,对吗

bug_html_file = open(bgz_sfx_html_file, 'r', encoding='utf-8').read()

有没有必要关上那个把手?是否创建了任何文件句柄


Tags: 文件对象方法内存readhtmlopen句柄
1条回答
网友
1楼 · 发布于 2024-10-03 11:20:57

你应该关闭打开的文件。例如,如果您在解释器中运行该命令,然后在解释器仍然打开的情况下尝试删除该文件,您将无法删除,因为该文件被标记为“正在使用”。 打开该文件的方式会丢失file对象的引用(由open返回),因此以后无法关闭它

正如@Chris\u Rands所建议的,使用with块来确保退出块后关闭文件:

with open('bug_html_file.txt', 'r') as fp:
    data = fp.read()
# here the file is closed (if you try `read`ing from `fp` you'll raise an error)

相关问题 更多 >