1.1 打开文件
在 Python 中操作文件真是太享受了,因为操作方法简单直观。我们现在不讨论创建或移动磁盘上的文件,而是读取和写入文件内容。
操作文件内容通常遵循以下步骤:
打开文件
文件数据操作
关闭文件
读取整个文件内容的示例:
file = open('example.txt', 'r')
content = file.read()
print(content)
file.close()
函数 open 用于打开文件。它接收两个主要参数:文件名 和 访问模式。该函数返回一个 文件对象,然后可以用来进行读写操作。
示例:
file = open('example.txt', 'r')
如果只指定文件名,将在程序的当前工作目录中查找。如果指定了完整的文件路径,将按该路径进行访问。
1.2 访问模式
函数 open() 的第二个参数表示文件的操作模式。访问模式决定了可以对文件执行哪些操作(读取、写入等)。
以下是主要的访问模式:
Read— 读取。Write— 写入。Append— 追加。
这些模式有几种变体:
- 'r': 打开文件进行读取(默认模式)。文件必须存在。
- 'w': 打开文件进行写入。文件内容将被删除。如果文件不存在,将创建它。
- 'a': 打开文件进行追加。数据将被添加到文件末尾。如果文件不存在,将创建它。
- 'r+': 打开文件进行读取和写入。文件必须存在。
- 'w+': 打开文件进行读取和写入。文件内容将被删除。如果文件不存在,将创建它。
- 'a+': 打开文件进行读取和追加。数据将被添加到文件末尾。如果文件不存在,将创建它。
写入文件的示例:
如果你想将数据写入文件,只需在打开文件时指定 w 作为访问模式。请注意,文件的所有旧内容将被删除!
file = open('example.txt', 'w')
file.write("Hello, World!")
file.close()
追加到文件的示例:
如果你不想删除文件内容,而只想在文件末尾追加内容,你需要指定 a 作为文件的访问模式。
file = open('example.txt', 'a')
file.write("\nAppended text.")
file.close()
重要! 如果你在文件中写入内容,而文件还不存在,它将自动创建。但如果你尝试从不存在的文件中读取数据,将会引发异常。
1.3 关闭文件
每次当你打开文件时,操作系统会检查你对文件的访问权限并将其标记为由你的程序使用。为操作文件分配了一个特殊资源 - handler。
你的程序可以打开的 handler 数量有限。这意味着你可以同时打开的文件数只有几百个。 看起来很多,但如果你的程序在服务器上运行了好几个月而且每天都在文件中进行读写操作,那么很快就可能达到这个限制。
因此,在你完成文件操作后,需要关闭文件——调用方法 close()。这样,你就是在告诉操作系统不再需要这个文件,及其 handler。
关闭文件
在文件操作完成后,必须关闭文件以释放系统资源。为此使用方法 close()。
file = open('example.txt', 'r')
# 执行文件操作
file.close()
每个你打开进行读取或写入的文件都应该被关闭。不要忘记调用 close() 方法。
GO TO FULL VERSION