如何在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:
# 执行一些文件操作
极客教程