Python の「with open」ステートメントを使用して複数のファイルを同時に開くにはどうすればよいですか?

Linda Hamilton
リリース: 2024-11-16 03:06:03
オリジナル
308 人が閲覧しました

How Can You Open Multiple Files Simultaneously Using Python's

Python の "with open" ステートメントを使用して複数のファイルを開く

Python の "with open" ステートメントは、コンテキスト マネージャー内でファイルを開いて操作する便利な方法です。 。ただし、デフォルトでは、一度に 1 つのファイルしか開くことができません。しかし、複数のファイルを同時に変更したり読み取りたりしたい場合はどうすればよいでしょうか?

オープン呼び出しとのマージ

短い答え: Python 2.7 または 3.1 以降では、次のようにすることができます。 「and」キーワードなしで複数の「with open」ステートメントをリストします:

with open('a', 'w') as a, open('b', 'w') as b:
    # Perform actions on file handles 'a' and 'b'
ログイン後にコピー

Nesting "with open"ステートメント

以前の Python バージョンでは、「contextlib.nested()」メソッドを使用してコンテキスト マネージャーをネストできました。ただし、このアプローチは、複数のファイルを開く場合には推奨されません。

Contextlib.ExitStack

一度に可変数のファイルを開く必要がある状況のために、Python 3.3 では「contextlib.ExitStack」が導入されました。 「コンテキストマネージャー。これにより、複数のファイル オブジェクトをスタックに追加し、適切な順序で終了できます。

import contextlib
with contextlib.ExitStack() as stack:
    files = [stack.enter_context(open(fname)) for fname in filenames]
    # Work with 'files' here
ログイン後にコピー

順次ファイル処理

ほとんどの場合、この方が効率的で慣用的であることに留意してください。ファイルを順番に処理します。たとえば、ループを使用して各ファイルを開いて個別に操作できます。

for fname in filenames:
    with open(fname) as f:
        # Process file 'f' here
ログイン後にコピー

以上がPython の「with open」ステートメントを使用して複数のファイルを同時に開くにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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