Python open语句文件读写操作指南

151 阅读3分钟

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)