- 帖子
- 16
- 精华
- 0
- 积分
- 218
- 阅读权限
- 30
- 注册时间
- 2019-12-27
- 最后登录
- 2023-1-24
|
本帖最后由 风风魔王 于 2020-3-27 09:30 编辑
#test.txt内容
123
456
789
代码如下:
f = open('test.txt', 'r+')
print(f.tell(), end = ' ')
f.write('000\n')
print(f.tell(), end = ' ')
f.readline()
print(f.tell(), end = ' ')
f.write('999')
print(f.tell(), end = ' ')
f.close()
输出结果是
0 5 10 16
而test.txt也被修改为了
000
456
789999
但是代码如果改成(仅仅是把write和readline之间的f.tell()去掉了,结果就大相径庭
f = open('test.txt', 'r+')
print(f.tell(), end = ' ')
f.write('000\n')
f.readline()
print(f.tell(), end = ' ')
f.write('999')
print(f.tell(), end = ' ')
f.close()
输出结果是0 10 21
而text.txt居然被修改成了
123
456
789000
999
请问先生这是什么情况?为什么连第一个write()写的内容都被添加到文件末尾了? |
|