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

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

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

打开文件

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

语法

以下是打开文件的语法:

open(filename, mode)

这里,参数 filename 和其路径由字符串参数指定,而 mode 参数用于确定文件是用于读取还是写入。

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

示例

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

# 打开文件
file = open("file.txt", "r+")
print ("文件名:", file.name)
print ("打开模式:", file.mode)

输出

以下是上述代码的输出 −

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

打开文件的各种模式

  • ab − 打开二进制文件,其他方面与 mode 相同。
  • ab+ − 文件以二进制格式打开,其他方面类似于 a+ mode。
  • a+ − 允许读取和添加文件。如果文件已经存在,则文件指针位于文件末尾;否则,创建新文件进行读取和写入。
  • a − 文件以追加方式打开。如果文件存在,则指针在文件末尾;否则,创建新文件进行写入。
  • wb − / 类似于 w mode,但以二进制格式打开文件。
  • wb+ − 与 w+ mode 类似,但是以二进制格式打开文件。
  • w+ − 以只读和只写模式打开文件;其他方面与 w mode 相同。
  • w − 打开文件进行写入。如果文件已存在,则替换该文件并创建新文件。
  • rb − 打开文件以二进制模式进行读取,其他方面与 r mode 相同。
  • rb+ − 类似于 r+ mode,只是以二进制模式打开文件。
  • r+ − 打开文件以供读取和写入。文件的起始点就是指针位置。
  • r − 使用只读模式打开文件。文件指针位于文件起始位置。此外,这是默认模式。
  • x − 以独占方式创建文件。如果文件已存在,则操作失败。
  • t − 以纯文本模式打开(默认)。
  • b − 以二进制模式打开。
  • + − 打开文件以进行更新(读和写)。

关闭文件

您可以直接使用文件对象调用 close 函数,因为它不需要任何参数。它可以被多次调用,但是如果在关闭文件之后进行任何操作,将引发 “ValueError” 异常。

示例

以下是一个关闭文件的示例−

# 打开一个文件
file = open("file.txt", "r+")

# 关闭文件
file.close()

注意 −记住在任务完成后始终明确关闭每个已打开的文件,并且没有必要将其保持打开,因为程序每次只能打开一定量的文件。如果超过这个限制,程序可能会崩溃,无法安全地恢复。

close() 函数并不完全安全。如果在尝试对文件执行某些操作时抛出异常,则函数在不关闭文件的情况下终止。使用 try…finally 块更可取。

示例

以下示例解释了即使生成异常并中断程序执行,也保证文件将正确关闭。

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

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

示例

在下面的示例中,您不必明确调用 close() 方法。这个过程是内部的 –

with open("file.txt", "r+") as file:
   # 执行一些文件操作

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程