0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Pythonでテキストファイルの途中に追記

Last updated at Posted at 2021-08-18

テキストファイルの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万行くらいまでであればそれほど問題ないですかね(印象)。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?