ホームページ >バックエンド開発 >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 サイトの他の関連記事を参照してください。