如何在 Python 中关闭已打开的文件?


Open() 是 Python 中一个内置函数,它打开一个文件并返回一个文件对象。文件对象中的方法和属性可用于收集有关您打开的文件的信息。它们也可用于修改上述文件。

打开文件

此函数需要两个参数。首先列出文件名和完整路径,然后是访问模式。此函数返回一个文件对象。

语法

以下是用于打开文件的语法

open(filename, mode)

这里,文件名及其路径由字符串参数指定,模式参数用于确定文件将用于读还是写。

注意 − 如果文件和 Python 脚本不在同一目录中,则必须指定文件的完整路径。如果不提供模式,则默认访问模式为读取模式。

示例

以下是如何使用r+ 模式打开文件的示例 −

# Opening a file file = open("file.txt", "r+") print ("Name of the file: ", file.name) print ("Opening mode : ", file.mode)

输出

以下是上述代码的输出 −

Name of the file: file.txt
Opening mode : r+ 

打开文件的各种模式

  • ab − 以二进制格式打开文件,但在其他方面与 a 模式相同。
  • ab+ − 以二进制格式打开文件,但在其他方面与 a+ 模式类似。
  • a+ − 启用读取和追加到文件。如果文件已存在,则文件指针位于文件末尾;否则,将创建一个新文件以进行读取和写入。
  • a − 以追加模式打开文件。如果文件存在,则指针位于文件末尾;否则,将创建一个新文件以进行写入。
  • wb − 与 w 模式类似,但以二进制格式打开文件。
  • wb+ − 与 w+ 模式类似,但以二进制格式打开文件。
  • w+ − 以只读和只写模式打开文件;其余部分与 w 模式类似。
  • w − 以写入模式打开文件。替换现有文件,如果现有文件不存在则创建一个新文件。
  • rb − 以二进制模式打开文件,但在其他方面与 r 模式相同。
  • rb+ − 与 r+ 模式类似,只是以二进制模式打开文件。
  • r+ − 打开文件以便可以读取和写入。文件指针位于文件开头。
  • r − 以只读模式打开文件。文件指针位于文件开头。此外,这是默认模式。
  • x − 打开以独占创建文件。如果文件已存在,则操作失败。
  • t − 以纯文本模式打开(默认)。
  • b − 以二进制模式打开。
  • + − 通过打开文件来更新文件(读写)。

关闭文件

您可以直接使用文件对象调用 close 函数,因为它不需要任何参数。可以多次调用它,但如果对已关闭的文件执行任何操作,则会引发“ValueError”异常。

示例

以下是如何关闭文件的示例 −

# Opening a file file = open("file.txt", "r+") # closing the file file.close()

注意 − 务必记住,在完成任务后始终显式关闭每个打开的文件,并且无需保持打开状态,因为程序一次只能打开一定数量的文件。如果超过此限制,则没有安全的方法可以恢复,因此软件可能会崩溃。

Close() 并非完全安全。如果在尝试对文件执行某些操作时引发异常,则该函数会在不关闭文件的情况下终止。最好使用 try...finally 块。

示例

以下是一个示例,说明即使生成了异常并中断程序执行,也可以保证文件将被正确关闭 −

try: file = open("file.txt", "r+") finally: file.close()

注意 − 在 Python 中处理文件操作的最安全方法是使用“with”语句,因为它确保在退出其内部的块时关闭文件。

示例

在下面的示例中,您不必显式调用 close() 方法。此过程是内部的 −

with open("file.txt", "r+") as file: # perform some file operations

更新于: 2022-08-17

2K+ 次查看

启动您的 职业生涯

通过完成课程获得认证

开始
广告

© . All rights reserved.