如何在 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
广告
数据结构
网络
关系数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP