1. 程式人生 > >python中的a+模式下寫入不支持指定位置寫入,只能在最後累加

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

模式 encoding 來源 blog 進行 int python bsp log

先使用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
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!

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