Python中如何对目标文件进行读写操作
在Python中,
open()函数可以用来打开一个文件,并返回一个文件对象,可以对该文件进行读取或写入操作。open()函数的简单语法如下:
open(file, mode='r')
其中,
file参数是要打开的文件名(包括路径),mode参数指定打开文件的模式,可以是以下值之一:
- 'r':只读模式,打开文件进行读取操作。
- 'w':写入模式,打开文件进行写入操作。如果文件不存在,则创建一个新文件;如果文件已存在,则先清空文件内容,再写入新内容。
- 'x':独占写入模式,打开文件进行写入操作。如果文件不存在,则创建一个新文件;如果文件已存在,则抛出FileExistsError异常。
- 'a':追加模式,打开文件进行写入操作。如果文件不存在,则创建一个新文件;如果文件已存在,则将数据追加到文件末尾。
- 'b':二进制模式,以二进制格式读取或写入文件。
- 't':文本模式(默认),以文本格式读取或写入文件。
- 'r+':以读写模式打开文件。具体来说,使用'r+'模式打开文件后,可以对文件进行读或写操作,同时也可以在任意位置插入新的内容。
- 'w+':以读写模式打开文件,并清空文件内容,可以在任意位置进行写操作。
1. 'r' 只读模式
打开文件进行读取操作
with open('file.txt', 'r') as f:
data = f.read()
2. 'w' 写入模式
打开文件进行写入操作。如果文件不存在,则创建一个新文件;如果文件已存在,则先清空文件内容,再写入新内容。
with open('file.txt', 'w') as f:
f.write('Hello, world!\n')
3. 'x' 独占写入模式
打开文件进行写入操作。如果文件不存在,则创建一个新文件;如果文件已存在,则抛出FileExistsError异常。
try:
with open('file.txt', 'x') as f:
f.write('Hello, world!\n')
except FileExistsError:
print('File already exists')
4. 'a' 追加模式
打开文件进行写入操作。如果文件不存在,则创建一个新文件;如果文件已存在,则将数据追加到文件末尾。
with open('file.txt', 'a') as f:
f.write('Hello, world!\n')
5. 'b' 二进制模式
以二进制格式读取或写入文件。
with open('file.bin', 'rb') as f:
data = f.read()
6. 't' 文本模式(默认)
以文本格式读取或写入文件
with open('file.txt', 'rt') as f:
data = f.read()
7. 'r+' 不清空源文件内容,同时进行读和写
以读写模式打开文件,并将文件指针移动到文件开头,可以在任意位置进行写操作
with open('file.txt', 'r+') as f:
data = f.read() # 读取文件内容
f.seek(0) # 将文件指针移动到文件开头
f.write('New content\n') # 在文件开头插入新的内容
f.write(data) # 将原来的内容写回到文件中
8. 'w+' 清空源文件内容,同时进行读和写
以读写模式打开文件,并清空文件内容,可以在任意位置进行写操作。
with open('file.txt', 'w+') as f:
f.write('Hello, world!\n')
f.seek(0) # 文件指针移动到文件开头
data = f.read() # 读取文件内容
print(data)