Windows系统下,这种情况发生在读取文件,再写入过程中出现。
原因是读完文件后python不知道当前文件位置在哪里。
方法一是:在关闭文件前只做读或者写一种操作。
方法二是:在写入文件前使用file.seek()函数,指定插入/读取文本的位置
一点的方法是在写入文件前用fseek(),或者fsetpos()设定插入文本的位置。
seek(offset[, whence])
whence 0:表示当前文件位置在文件开头
1:表示在上次read后的地方
2:表示在文件末尾
offset 偏移量
在写入/读取文件前加上file.seek(0, 2)
file = open('test.txt', "r+")
content = file.read() # 不指定长度,直接读取所有内容
print(content)
file.seek(0, 2) # 指定从当前文件中的数据的末尾开始写
file.write("winter snow") # 开始写的位置有当前的光标位置决定
file.seek(0) # 指定从头开始读取文件中的数据
content_1 = file.read() # 不指定长度,直接读取所有内容
print(content_1)