Python の "with open" ステートメントを使用して複数のファイルを開く
複数のファイルを同時に変更すると、この操作を効率的に実行する方法が問題になりますファイルの整合性を維持しながら。コンテキスト管理とともに「with open」ステートメントを利用すると、実用的な解決策が得られます。
複数のファイルでの「with open」の使用
Python バージョン 2.7 以降では、構文が改訂され、1 つの「with open」内で複数のファイルを開くことができるようになりました。ステートメント:
with open('a', 'w') as a, open('b', 'w') as b: do_something()
これにより、ネストされた "with" ステートメントや "contextlib.nested()" の使用が不要になります。
代替アプローチ
まれに、開くファイルの数が変化する場合がありますが、「contextlib.ExitStack」は柔軟なソリューションを提供します。 Python 3.3 以降:
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
以上が\"with open\" ステートメントを使用して Python で複数のファイルを効率的に変更するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。