python文件读写模式(r+, w+, a+, rb+, rw+, ra+)

Python中的文件读写模式如r+、w+和a+允许同时进行读写操作。在r+模式下,读取后写入会从文件末尾开始追加;如果先写入再读取,则会覆盖相应数量的字符。w+模式会清空文件后再写入,而a+则始终在文件末尾追加内容。注意文件指针的位置和编码设置对操作的影响。
摘要由CSDN通过智能技术生成

python文件读写模式(r+, w+, a+, rb+, rw+, ra+)

发布于2021-12-07 15:36:46阅读 2.3K0

增加+:表示把当前文件以读写模式打开(r+, w+, a+, rb+, rw+, ra+),基本特性和不适用+号之前一致,操作结果有些许区别。带上+号之后只要open一个文件之后就可读可写。

f = open('a.txt', 'r+', encoding='utf-8') # 读取文件的时候使用utf-8编码
content = f.read()
print(content)
f.write('123')# 使用r+模式可以直接读和写,先读后写的话:写入的时候从文本最后面开始,直接追加
# 如果是先写后读,则从文本开头写入,会覆盖对应个数的字符
f.close()

复制

这里要注意读的时候文件光标移动,写的时候覆盖等问题,大家用代码自己试一下,这里文字很难描述。

fd = open("a.txt", 'w+')
fd.write('123')
fd = open("a.txt", 'r+') # 没有读,直接写会覆盖上面的123
fd.write('a')
fd = open("a.txt", 'a+')
fd.write('a')

复制

以下是python所有的读写模式

  • w:以写方式打开,
  • a:以追加模式打开 (从 EOF 开始, 必要时创建新文件)
  • r+:以读写模式打开
  • w+:以读写模式打开 (参见 w )
  • a+:以读写模式打开 (参见 a )
  • rb:以二进制读模式打开
  • wb:以二进制写模式打开 (参见 w )
  • ab:以二进制追加模式打开 (参见 a )
  • rb+:以二进制读写模式打开 (参见 r+ )
  • wb+:以二进制读写模式打开 (参见 w+ )
  • ab+:以二进制读写模式打开 (参见 a+ )fp.read([size])
Python 中,可以使用 `open()` 函数打开文件进行读写操作。`open()` 函数常用的模式参数包括:`r`、`r+`、`w`、`w+`、`a` 和 `a+`。它们的区别如下: - `r`(只读模式):打开文件并读取内容,如果文件不存在则会抛出异常。 - `r+`(读写模式):打开文件以读取和写入内容,如果文件不存在则会抛出异常。 - `w`(只写模式):打开文件以写入内容,如果文件已存在则覆盖原内容,如果文件不存在则创建新文件。 - `w+`(读写模式):打开文件以读取和写入内容,如果文件已存在则覆盖原内容,如果文件不存在则创建新文件。 - `a`(追加模式):打开文件以追加内容,如果文件不存在则创建新文件。 - `a+`(读写模式):打开文件以读取和追加内容,如果文件不存在则创建新文件。 下面是使用这些模式进行文件读写的示例代码: ```python # 写入文件 with open('test.txt', 'w') as f: f.write('Hello, world!') # 读取文件 with open('test.txt', 'r') as f: content = f.read() print(content) # 在文件末尾追加内容 with open('test.txt', 'a') as f: f.write('\nThis is a new line.') # 读取文件 with open('test.txt', 'r') as f: content = f.read() print(content) ``` 上述代码会在当前工作目录下创建一个名为 `test.txt` 的新文件,写入内容 `Hello, world!`,然后再次打开文件读取内容并输出,接着使用追加模式在文件末尾添加一行新内容,最后再次读取文件并输出。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值