python中的a+模式下写入不支持指定位置写入,只能在最后累加

先使用a+的模式保存在文件中写一段代码,并打印目前的指针位置:

f = open('test.txt', 'a+', encoding='utf-8')
f.write('123456789\n')
f.write('987654321\n')
# 得到f文件现在的指针
print(f.tell())
然后修改指针的位置,将从头开始读取文件,读取所有文件

# 修改文件指针到开始
f.seek(0, 0)
print(f.read())
结果为:

    123456789
    432198765

再次修改指针位置,并调整到最开始的位置,并进行写入文字:

f.seek(0, 0)
f.write('hzzh' )
f.close()
表面上看会从文件的开始去覆盖原文件,但是实际会在文件的最后追加写入

打印后的结果为:

    123456789
    432198765
    hzzh

总结:Python中,a或a+模式修改文件指针对于文件的写入没有影响,都会在结尾追加写入
---------------------
作者:yang9315
来源:CSDN
原文:https://blog.csdn.net/yang9315/article/details/81005214
版权声明:本文为博主原创文章,转载请附上博文链接!

猜你喜欢

转载自www.cnblogs.com/ozhidao/p/10356040.html