ホームページ > バックエンド開発 > Python チュートリアル > Python で複数の `open()` ステートメントを使用してファイル処理を効率化する方法

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

Mary-Kate Olsen
リリース: 2024-10-31 04:45:02
オリジナル
623 人が閲覧しました

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

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

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

状況:

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

解決策:

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

<code class="python">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)</code>
ログイン後にコピー

補足:

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

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

以上がPython で複数の `open()` ステートメントを使用してファイル処理を効率化する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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