1️⃣w模式
- 概述:w模式是写入模式,写入前会先截断文件(清空文件)。
- 代码:
with open('b.txt', 'wt', encoding='utf-8') as file:
file.write('你好')
2️⃣x模式
- 概述:x模式是排它性创建,如果文件已存在,则创建失败。
- 代码:
with open('demo.txt', 'xt', encoding='utf-8') as file:
file.write('你好')
3️⃣a模式
- 概述:打开文件用于写入,如果文件存在,则在文件末尾追加内容。
- 代码:
with open('a.txt', 'at', encoding='utf-8') as file:
file.write('你好')
7. flush方法
- 概述:Python 写入文件时,并不是每写一次就立刻落盘,而是:先写到“缓冲区”里。
- flush方法:把缓冲区中的数据,立刻写入到文件中。
- 测试代码:
import time
with open('demo.txt', 'at', encoding='utf-8') as file:
file.write('你好1')
file.write('你好2')
file.flush()
time.sleep(10000)
file.write('你好3')
file.write('你好4')
8. 组合模式
1️⃣rt+模式
- 概述:r模式可以读取,+模式可以更新(读取或写入),所以rt+模式可读可写。
- 注意:r模式打开文件后,文件指针在起始位置。
- 备注:由于t是默认值,所以rt+中的t可以省略。
- 代码:
with open('a.txt', 'rt+', encoding='utf-8') as file:
# seek(offset, whence)方法:用于改变文件对象指针的位置,参数说明如下:
# offset:偏移量,要移动多少距离
# whence:参考点,从哪里开始计算偏移,有三种取值:
# 0:从文件开头计算(默认值)
# 1:从当前位置计算
# 2:从文件末尾计算
# 注意:在文本模式下,不要随意去定位中文字符位置,否则可能破坏文件编码。
file.seek(0, 0)
file.write('你好')
2️⃣wt+模式
- 概述:w模式可以写入,+模式可以用于更新(读取或写入),所以wt+模式可读可写。
- 注意:w模式打开文件后,文件指针在起始位置,但write方法执行完后,指针在文件结束位置。
- 备注:由于t是默认值,所以wt+中的t可以省略。
- 代码:
with open('a.txt', 'wt+', encoding='utf-8') as file:
file.write('你好')
file.seek(0, 0)
result = file.read()
print(result)
3️⃣xt+模式
- 概述:x模式可以写入,+模式可以用于更新(读取或写入),所以xt+模式可读可写。
- 注意:x模式打开文件后,文件指针在起始位置。
- 备注:由于t是默认值,所以xt+中的t可以省略。
- 代码:
with open('demo3.txt', 'xt+', encoding='utf-8') as file:
file.write('你好')
file.seek(0, 0)
result = file.read()
print(result)
4at+模式
- 概述:a模式可以追加内容,+模式可以用于更新(读取或写入),所以at+模式可读可写。
- 注意:a模式打开文件后,文件指针在结束位置。
- 备注:由于t是默认值,所以at+中的t可以省略。
- 代码:
with open('a.txt', 'at+', encoding='utf-8') as file:
file.write('你好')
file.seek(0, 0)
result = file.read()
print(result)
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END











请登录后查看评论内容