为了账号安全,请及时绑定邮箱和手机立即绑定

如果要关闭文件,是否需要再次打开该文件?

如果要关闭文件,是否需要再次打开该文件?

慕田峪7331174 2023-12-05 14:57:42
在我的作业中,我应该在一个函数中阅读完文件后关闭该文件。但是,稍后我必须从另一个函数再次访问它。关闭文件是强制关闭文件的好习惯的要求,但我觉得没有必要,因为我需要稍后再次打开文件。有没有办法关闭文件并仍然从另一个函数访问它,或者我应该手动重新打开它。示例代码:def open(file):    filename = open(file, "r")    filename.read()    filename.close()def access():    for line in filename:        print(line)
查看完整描述

3 回答

?
慕哥6287543

TA贡献1831条经验 获得超10个赞

没有任何内容表明您必须在当前函数结束之前关闭文件,只是您必须确保文件已关闭。一种方法是将已经打开的文件access作为参数传递给,并在access返回后关闭它。例如,


def access1(fh):


    for line in fh:

        print(line)


def access2(fh):

    # Do something else with the file


# This is the builtin open function, not the one in the question

with open(filename) as f:

    access1(f)

    f.seek(0)  # Reset the file pointer for the next function

    access2(f)


查看完整回答
反对 回复 2023-12-05
?
BIG阳

TA贡献1859条经验 获得超6个赞

将 的输出保存filename.read()到变量中。该变量将包含文件的内容以供以后使用,即使文件已关闭也是如此。



查看完整回答
反对 回复 2023-12-05
?
开心每一天1111

TA贡献1836条经验 获得超13个赞

是的,关闭后您需要再次打开文件。当我们完成对文件的操作后,我们需要正确关闭该文件。关闭文件将释放资源。

Python 有一个垃圾收集器来清理未引用的对象,但保持文件打开并不是一个好方法。

或者我们可以使用

> with open("test.txt", encoding = 'utf-8') as f:    
  # perform file operations

一旦我们退出“with”语句内的块,文件就会关闭。


查看完整回答
反对 回复 2023-12-05
  • 3 回答
  • 0 关注
  • 59 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信