ホームページ >バックエンド開発 >Python チュートリアル >Python で複数のファイルを同時に効率的に操作するにはどうすればよいですか?

Python で複数のファイルを同時に効率的に操作するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-16 06:51:03416ブラウズ

How can I efficiently manipulate multiple files simultaneously in Python?

Python の「with open」による効率的なファイル操作

Python では、複数のファイルに同時にアクセスすることが多くの場合重要なタスクになります。複数の「with open」ステートメントを使用するのは面倒な場合がありますが、Python はこれらの呼び出しを「with」ステートメントと組み合わせる洗練されたソリューションを提供します。

インライン ファイル オープン

Python バージョン 2.7 以降では、インライン ファイルを開くことができるため、複数の "with" ステートメントが不要になります。ファイル定義は括弧内のカンマで区切るだけです。

with open('a', 'w') as a, open('b', 'w') as b:
    do_something()

コンテキスト マネージャーのネスト

以前のバージョンの Python では、contextlib.nested() を次の目的で使用できました。

動的ファイルを開くための ExitStack

Python 3.3 以降では、contextlib.ExitStack が多用途のオプションを提供します。可変数のファイルを同時に開く場合:

with ExitStack() as stack:
    files = [stack.enter_context(open(fname)) for fname in filenames]
    # Do something with "files"

順次ファイル処理

ユースケースによっては、すべてのファイルを開くよりも順次ファイル処理の方が適切な場合があります。すぐに:

for fname in filenames:
    with open(fname) as f:
        # Process f

以上がPython で複数のファイルを同時に効率的に操作するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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