打开方式
模式 |
可做操作 |
若文件不存在 |
是否覆盖 |
r |
只读 |
error |
- |
r+ |
读写 |
error |
是 |
w |
只写 |
创建 |
是 |
w+ |
读写 |
创建 |
是 |
a |
只写 |
创建 |
是,尾部追加 |
a+ |
读写 |
创建 |
是 |
wb |
以二进制的字符串写入bytes |
创建 |
是 |
rb |
以二进制的方式读取字符串,返回bytes |
error |
- |
相关常用函数
- f.read() 返回读取内容
- f.write(str) 写入字符串
- f.tell() 返回读写指针位置
- f.seek(0) 移动指针到开头
- f.truncate() 清空文件内容
例子
with open("a.txt", "r", encoding="utf-8") as f:
str1 = f.read()
print(str1)
with open("a.txt", "w", encoding="utf-8") as f:
f.write("aaaaaaa")
with open("a.txt", "a", encoding="utf-8") as f:
f.write("aaaaaaa")
with open("a.txt", "rb", encoding="utf-8") as f:
str1 = f.read()
print(str1)
with open("a.txt", "wb", encoding="utf-8") as f:
f.write("aaaaaaa")
with open("a.txt", "r+", encoding="utf-8") as f:
str1 = f.read()
f.seek(0)
f.truncate()
f.write("aaaaaaa")
str2 = f.read()
with open("a.txt", "w+", encoding="utf-8") as f:
str1 = f.read()
f.write("aaaaaaa")
str2 = f.read()
- r+模式一开始光标在开始(0)处。当写入write时,操作方式为覆盖,若写入长度大于原文档长度,则全部覆盖掉,光标移到最后位;若写入长度小于原文档长度,
则只覆盖掉光标之后写入长度大小的那部分原文档,光标移到写入长度的位置***读(write)时光标都是移动到相应的写入长度位后。读(read)操作之后光标都会移动到文档最后位。
- w+模式一开始光标在开始(0)处。当写入write时,操作方式位清空,不论写入长度大于还是小于原文档长度,光标都移到文档最后位(此时的文档最后位也就等于写入长度位后)
- a+模式,根据光标位置,write方法在光标位置后添加