Heim > Artikel > Backend-Entwicklung > Wie kann ich in Python mehrere Dateien innerhalb einer einzigen „with“-Anweisung öffnen?
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!