运行python程序对文件 1.txt 进行读取与写入操作,运行前 1.txt 的内容均是
123456789
asdfghjkl
程序1:
f1 = open('1.txt', 'r+')
f1.write('***')
print(f'文件指针位置是{f1.tell()}') # 与程序2的区别在于这句代码会被注释掉
print(f1.read(1))
f1.close()
运行结果是:
文件指针位置是3
4
运行后 1.txt 的内容是:
***456789
asdfghjkl
上述结果与预期相符,但注释掉代码“print(f'文件指针位置是{f1.tell()}')”后,运行结果居然和上面不同:
程序2:
f1 = open('1.txt', 'r+')
f1.write('***')
#print(f'文件指针位置是{f1.tell()}')
print(f1.read(1))
f1.close()
运行结果是:
1
运行后 1.txt 的内容是:
123456789
asdfghjkl***
有两个问题:(1)read出来的数据居然是1而不是4;(2)'***'写入位置居然是末尾,这是怎么回事呢?
太迷惑了,求大神解读呀!