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

programmingpythonserver side programming更新于 2023/12/11 9:59:00

Open() 是 Python 中的内置函数,用于打开文件并返回文件对象。文件对象中的方法和属性可用于收集有关您打开的文件的数据。它们还可用于修改所提及的文件。

打开文件

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

语法

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

open(filename, mode)

此处,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+  允许读取和添加文件。如果文件已存在,则文件指针位于文件末尾;否则,将创建一个新文件以供读写。
  • − 文件将打开以进行追加。如果指针存在,则位于文件末尾;否则,将创建一个新文件进行写入。
  • wb  /与 w 模式类似,但以二进制格式打开文件。
  • wb+  文件以二进制格式打开,与 w+ 不同。
  • w+  以只读和只写模式打开文件; rest 与 w 模式类似。
  •  通过打开文件启用写入。替换现有文件,如果现有文件不存在则创建一个新文件。
  • rb − 它以二进制模式打开文件,但其他方面与 r 模式相同。
  • rb+  与 r+ 模式类似,但仅以二进制模式打开文件。
  • r+  打开文件以便可以读取和写入。文件的起始点就是指针所在的位置。
  •  只读模式用于打开文件。文件的指针位于文件的开头。此外,这是默认模式。
  •  打开以独占创建文件。如果文件已存在,则操作失败。
  •  以纯文本模式打开(默认)。
  •  以二进制模式打开。
  •  通过打开文件(读取和写入)来更新文件。

关闭文件

您可以直接使用文件对象调用 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

相关文章