Python 如何关闭已打开的文件

Python 如何关闭已打开的文件

open()是Python中的一个内置函数,用于打开文件并返回文件对象。文件对象中的方法和属性可用于收集有关已打开文件的数据,也可用于修改该文件。

打开文件

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

语法

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

open(filename, mode)

在这里,文件名和路径由一个字符串参数指定, mode 参数用于确定文件是用于读取还是写入。

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

示例

以下是使用 r+ mode 打开文件的示例 –

# 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

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程