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

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,Python,IO,open)