テキストファイルの2行目に「あいうえお」を追記します。
追記前
text.txt
ヘッダー
かきくけこ
さしすせそ
たちつてと
なにぬねの
はひふへほ
まみむめも
やゆよ
らりるれろ
わをん
実装方法
全行取得
↓
途中に挿入
↓
既存のファイルデータを全削除
↓
ファイルの先頭にストリーム位置を移動
↓
書き込み
という流れにします。
# ファイルの2行目に追記。
import os
with open('text.txt', 'r+', encoding='utf-8') as file:
# 全行取得
line = file.readlines()
# 途中に挿入
line.insert(1, 'あいうえお\n')
# ファイルデータ全削除
file.truncate(0)
# 先頭にストリームを移動
file.seek(0, os.SEEK_SET)
# 書き込み
file.writelines(line)
追記後
text.txt
ヘッダー
あいうえお
かきくけこ
さしすせそ
たちつてと
なにぬねの
はひふへほ
まみむめも
やゆよ
らりるれろ
わをん
全データ取得して全削除するのでメモリの無駄遣いな気もするんですが、他にいい方法がわかりませんでした。
100万行くらいまでであればそれほど問題ないですかね(印象)。