请问覆盖写模式怎么整,我这个怎么更改到原来的文件,这个按w 为什么直接把文件清空
把'r'改为'w+'
不写+号不可读,读到的是空写入也是空,就把文件清空了
w是只写模式:在文件不存在时创建空文档;文件存在时清空文件,文件指针跑到文件开头。
with open('b.txt',mode='w',encoding='utf-8') as f:
f.write('123\n')
f.write('1234\n')
f.write('12345\n')
在文件不关闭的情况下,连续的写入,后写的内容一定跟在前写内容的后面。
如果重新以w模式打开文件,则会清空文件内容。
针对问题,我的解决方案如下:
示例代码:
f = open("filename.txt", "w+")
f.write("data")
f.seek(0) # 将文件指针移到文件开头位置
f.write("new data") # 覆盖写入新数据
f.close()
示例代码:
f = open("filename.txt", "a")
f.write("new data") # 在文件末尾追加新数据
f.close()
希望这些代码可以帮到你,祝编码愉快!