风风魔王 发表于 2020-3-26 17:29:43

python中边读边写文件为什么会这样?

#test.txt内容
123
456
789
代码如下:
f = open('test.txt', 'a+')
f.seek(0)
for i in f:
    f.write('000\n')
f.close()
为什么执行完之后,文件内容是
123
456
789
000

按理说for循环执行三次,应该是三个000啊。还是说边读边写的话,f被改变了直接就退出循环了?

qiuyouzhi 发表于 2020-3-26 17:32:26

改成
for i in len(f.read())
试试

BngThea 发表于 2020-3-26 17:36:13

循环体内修改了文件对象f,循环自动退出了
页: [1]
查看完整版本: python中边读边写文件为什么会这样?