Python 中的文件读写是编程中的一项基础且重要的操作。Python 提供了内置的 open()
函数来打开一个文件,并且该文件对象提供了多种方法来读取和写入文件。以下是文件读写的几个基本步骤和示例。
打开文件
使用 open()
函数来打开一个文件,并返回一个文件对象。open()
函数的基本语法如下:
open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
file
:必需,文件路径(相对或者绝对路径)。mode
:可选,文件打开模式'r'
:只读模式(默认)。'w'
:只写模式,如果文件已存在则覆盖,如果文件不存在则创建。'x'
:创建写模式,如果文件已存在则失败。'a'
:追加模式,如果文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果文件不存在,创建新文件进行写入。'b'
:二进制模式(可与其他模式组合使用,如 ‘rb’ 或 ‘wb+’)。'+'
:更新(可读可写)模式(可与其他模式组合使用,如 ‘r+’ 或 ‘w+’)。
encoding
:可选,用于指定文件的编码,默认是系统默认编码,如 ‘utf-8’。
读取文件
打开文件后,可以使用文件对象的方法来读取文件内容。常用的读取方法包括:
read(size=-1)
:读取文件内容。如果指定了size
参数,则读取size
个字符。readline(size=-1)
:读取文件中的一行。readlines(hint=-1)
:读取所有行并返回列表,若指定了hint
,则读取指定数量的字节,并尝试以行结束符分割。
写入文件
打开文件时指定写模式(如 ‘w’、‘a’、‘w+’ 等),然后可以使用文件对象的方法来写入文件内容。常用的写入方法包括:
write(s)
:将字符串s
写入文件。writelines(lines)
:向文件写入一个序列的字符串。序列的每个元素后面不会自动添加换行符,因此需要在字符串末尾添加换行符,除非文件是以二进制模式打开的且需要写入的是行结束符。
示例
读取文件
with open('example.txt', 'r', encoding='utf-8') as file:
content = file.read()
print(content)
写入文件
with open('example.txt', 'w', encoding='utf-8') as file:
file.write("Hello, World!")
追加文件
with open('example.txt', 'a', encoding='utf-8') as file:
file.write("\nHello again!")
注意事项
- 使用
with
语句来打开文件是一种好习惯,因为它会确保文件在使用后正确关闭,即使在读写文件时发生异常也是如此。 - 在打开文件时,特别是在写模式下,请确保你了解文件操作的模式,以避免不必要的数据丢失。
- 当处理非文本文件(如图片、视频等)时,应使用二进制模式(‘b’)。