Heim  >  Artikel  >  Backend-Entwicklung  >  Wie kann ich in Python mehrere Dateien innerhalb einer einzigen „with“-Anweisung öffnen?

Wie kann ich in Python mehrere Dateien innerhalb einer einzigen „with“-Anweisung öffnen?

Susan Sarandon
Susan SarandonOriginal
2024-10-30 17:47:31434Durchsuche

How can I open multiple files within a single `with` statement in Python?

Mehrere Dateien in einer einzigen with-Anweisung öffnen

Bei der Dateieingabe und -ausgabe in Python mithilfe der with-Anweisung gibt es bestimmte Techniken können Sie zur Optimierung Ihres Codes einsetzen. Eine dieser Techniken besteht darin, mehrere Dateien innerhalb desselben Blocks zu öffnen. Dies erweist sich als besonders nützlich, wenn gleichzeitig mit Eingabe- und Ausgabedateien gearbeitet wird.

Mit Blöcken verschachtelt

In früheren Versionen von Python, wie 2.5 und 2.6, war dies erforderlich Nest mit Blöcken für mehrere Dateioperationen. Betrachten Sie zum Beispiel das folgende Beispiel:

<code class="python">def filter(txt, oldfile, newfile):
    with open(newfile, 'w') as outfile:
        with open(oldfile, 'r', encoding='utf-8') as infile:
            for line in infile:
                # ...</code>

In diesem Code wird die Öffnungsfunktion zweimal aufgerufen, wodurch separate Dateiobjekte für die Eingabe und Ausgabe erstellt werden.

Durch Kommas getrenntes Öffnen ()-Anweisungen

Aber ab Python 2.7 und 3.1 können Sie diesen Prozess vereinfachen, indem Sie mehrere open()-Anweisungen innerhalb eines einzigen with-Blocks durch Kommas trennen:

<code class="python">def filter(txt, oldfile, newfile):
    with open(newfile, 'w'), open(oldfile, 'r', encoding='utf-8') as (outfile, infile):
        for line in infile:
            # ...</code>

Diese prägnante Syntax ermöglicht es Ihnen, mit mehreren Dateien gleichzeitig zu arbeiten, was die Lesbarkeit des Codes erheblich verbessert und die Einrückungsebenen reduziert.

Zusätzliche Überlegungen

Denken Sie daran, dass die explizite Rückkehr von einer Python-Funktion ist unnötig, da die Sprache die Funktion am Ende automatisch verlässt. Wenn Ihr Code außerdem die Python-Versionen 2.5, 2.6 oder 3.0 unterstützen muss, sollten Sie die Verschachtelung mit Blöcken in Betracht ziehen, anstatt den durch Kommas getrennten Ansatz zu verwenden, um die Kompatibilität sicherzustellen.

Das obige ist der detaillierte Inhalt vonWie kann ich in Python mehrere Dateien innerhalb einer einzigen „with“-Anweisung öffnen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn