今天我用with open() as f 将文本内容写入文件的时候出现了文本大部分缺失的情况。真正写入文件的只有最后一段,前面的部分一点都没写入。
本应写入的:
实际写入的:
望各位有识之士不吝赐教。
PS:之后我将w模式改为了a+模式,然后就可以了。请问这是为什么呢?
今天我用with open() as f 将文本内容写入文件的时候出现了文本大部分缺失的情况。真正写入文件的只有最后一段,前面的部分一点都没写入。
本应写入的:
实际写入的:
如果是w 模式, 要把 with open 放到循环前面去, 不能放在循环体里。
测试下这三种情况,看能否给你提示。
with open("t1.txt",'w') as f:
for i in range(1,11):
f.write("Line{}\n".format(i))
for i in range(1,11):
with open("t2.txt", 'w') as f:
f.write("Line{}\n".format(i))
for i in range(1,11):
with open("t3.txt", 'a') as f:
f.write("Line{}\n".format(i))