ホームページ > バックエンド開発 > Python チュートリアル > Python でテキスト ファイルをエレガントに連結するにはどうすればよいですか?

Python でテキスト ファイルをエレガントに連結するにはどうすればよいですか?

DDD
リリース: 2024-12-12 22:27:10
オリジナル
225 人が閲覧しました

How Can I Elegantly Concatenate Text Files in Python?

Python でテキスト ファイルを連結するためのエレガントなソリューション

複数のテキスト ファイルを扱うとき、それらを 1 つのファイルに連結する必要がよくあります。 open()、readline()、write() メソッドで行ごとのアプローチを使用するのは単純そうに見えますが、洗練さに欠けます。

Python では、このタスクに対してより洗練されたメソッドが提供されています。次のアプローチを検討してください。

大きなファイルの場合:

filenames = ['file1.txt', 'file2.txt', ...]
with open('path/to/output/file', 'w') as outfile:
    for fname in filenames:
        with open(fname) as infile:
            for line in infile:
                outfile.write(line)
ログイン後にコピー

このメソッドは、各ファイルを反復処理して、行を順番に読み取り、書き込みます。大きなファイルの場合は効率的です。

小さなファイルの場合:

filenames = ['file1.txt', 'file2.txt', ...]
with open('path/to/output/file', 'w') as outfile:
    for fname in filenames:
        with open(fname) as infile:
            outfile.write(infile.read())
ログイン後にコピー

小さなファイルの場合、このアプローチは各ファイルの内容全体を一度に読み取り、ファイル数を減らします。

を使用する代替方法itertools:

filenames = ['file1.txt', 'file2.txt', ...]
with open('path/to/output/file', 'w') as outfile:
    for line in itertools.chain.from_iterable(itertools.imap(open, filnames)):
        outfile.write(line)
ログイン後にコピー

このメソッドは、itertools モジュールを使用して、複数のファイルにまたがる行を単一のリストであるかのように繰り返し処理します。メモリ効率は低くなりますが、興味深いアプローチであると考えられます。

これらのより洗練された手法を採用することで、Python でテキスト ファイルをより簡単かつ効率的に連結でき、大きなファイルと小さなファイルの両方が関係するシナリオに対応できます。

以上がPython でテキスト ファイルをエレガントに連結するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート