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

时间:2018-01-26 10:47:46

标签: python

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

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

是否需要以任何方式关闭该句柄?是否创建了文件句柄?

1 个答案:

答案 0 :(得分:2)

您应该始终关闭您打开的文件。例如,如果您在解释器中运行该程序,然后您在解释程序仍处于打开状态时尝试删除该文件,则您将无法执行此操作,因为该文件已被标记为"正在使用& #34 ;. 您打开该文件的方式,您将丢失文件对象的引用(由open返回),因此您无法在之后将其关闭。

正如@Chris_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)