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

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+模式修改檔案指標對於檔案的寫入沒有影響,都會在結尾追加寫入