ホームページ  >  記事  >  バックエンド開発  >  Pythonでファイルの先頭に行を追加するにはどうすればよいですか?

Pythonでファイルの先頭に行を追加するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-02 03:58:02169ブラウズ

How to Add a Line to the Beginning of a File in Python?

ファイルの先頭に行を追加する方法

ファイルの先頭に行を追加するとします。ただし、標準の追加モードを使用するとします。 Python の場合、この行はファイルの末尾に追加されます。これを実現するにはどうすればよいですか?

実装

これを実現するには 2 つの方法があります:

1 番目の方法 (メモリ集中型):

<code class="python">def line_prepender(filename, line):
    with open(filename, 'r+') as f:
        content = f.read()
        f.seek(0, 0)
        f.write(line.rstrip('\r\n') + '\n' + content)</code>

このメソッドでは、ファイル全体がメモリに読み込まれ、先頭に行が追加され、変更された内容がファイルに上書きされます。

第 2 の方法 (ストリーミング):

<code class="python">def line_pre_adder(filename, line_to_prepend):
    f = fileinput.input(filename, inplace=1)
    for xline in f:
        if f.isfirstline():
            print(line_to_prepend.rstrip('\r\n') + '\n' + xline, end='')
        else:
            print(xline, end='')</code>

このメソッドは、ファイルを 1 行ずつストリーミングし、元のファイルを上書きします。 fileinput モジュールを使用して行を反復処理し、指定された行を最初の行の先頭に挿入します。

方法の選択は、ファイル サイズと利用可能なメモリによって異なります。メモリの問題を避けるために、大きなファイルの場合は 2 番目の方法が推奨されます。

以上がPythonでファイルの先頭に行を追加するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。