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 サイトの他の関連記事を参照してください。