「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > Python で複数の `open()` ステートメントを使用してファイル処理を効率化する方法

Python で複数の `open()` ステートメントを使用してファイル処理を効率化する方法

2024 年 11 月 22 日に公開
ブラウズ:118

How to Streamline File Handling with Multiple `open()` Statements in Python?

Python で複数の Open ステートメントを使用してファイル処理を改善する方法

Python では、open() 関数はファイル入力のための多用途ツールですそして出力します。複数のファイルを操作する場合、適切なリソース管理を確保するために with ステートメントを利用すると有利です。

状況:

ファイルから名前を読み取り、特定の名前に追加のテキストを追加します。現在の実装ではファイルを順番に開きますが、最適ではない可能性があります。

解決策:

Python では、カンマで区切ることにより、1 つの with ステートメント内で複数の open() ステートメントを使用できます。彼ら。これにより、複数のファイルを同時に処理できるようになり、リソース管理が強化されます。

def filter(txt, oldfile, newfile):
    '''
    Read a list of names from a file line by line into an output file.
    If a line begins with a particular name, insert a string of text
    after the name before appending the line to the output file.
    '''

    with open(newfile, 'w') as outfile, open(oldfile, 'r', encoding='utf-8') as infile:
        for line in infile:
            if line.startswith(txt):
                line = line[0:len(txt)]   ' - Truly a great person!\n'
            outfile.write(line)

補足:

  • 戻り値のない関数から明示的に返す必要はありません。
  • この機能Python 2.7 および 3.1 以降で導入されました。
  • Python バージョン 2.5 または 2.6 との互換性が必要な場合は、ステートメントでネストするか、contextlib.nested を使用することをお勧めします。

この方法でファイル処理を最適化することで、開発者はコードの可読性、リソース管理、全体的な効率を向上させることができます。

最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3