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

在我的作业中,我应该在一个函数中阅读完文件后关闭该文件。但是,稍后我必须从另一个函数再次访问它。关闭文件是强制关闭文件的好习惯的要求,但我觉得没有必要,因为我需要稍后再次打开文件。有没有办法关闭文件并仍然从另一个函数访问它,或者我应该手动重新打开它。


示例代码:


def open(file):


    filename = open(file, "r")

    filename.read()

    filename.close()


def access():


    for line in filename:

        print(line)


慕田峪7331174
浏览 120回答 3
3回答

慕哥6287543

没有任何内容表明您必须在当前函数结束之前关闭文件,只是您必须确保文件已关闭。一种方法是将已经打开的文件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 questionwith open(filename) as f:    access1(f)    f.seek(0)  # Reset the file pointer for the next function    access2(f)

BIG阳

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

开心每一天1111

是的,关闭后您需要再次打开文件。当我们完成对文件的操作后,我们需要正确关闭该文件。关闭文件将释放资源。Python 有一个垃圾收集器来清理未引用的对象,但保持文件打开并不是一个好方法。或者我们可以使用> with open("test.txt", encoding = 'utf-8') as f:       # perform file operations一旦我们退出“with”语句内的块,文件就会关闭。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python