Öffnen mehrerer Dateien mit der „with open“-Anweisung in Python
Das gleichzeitige Ändern mehrerer Dateien wirft die Frage auf, wie dieser Vorgang effizient durchgeführt werden kann unter Beibehaltung der Dateiintegrität. Die Verwendung der „with open“-Anweisung zusammen mit der Kontextverwaltung bietet eine praktische Lösung.
Verwendung von „with open“ mit mehreren Dateien
In Python-Versionen 2.7 und höher ist die Die Syntax wurde überarbeitet, um mehrere Dateiöffnungen innerhalb einer einzigen „with open“-Anweisung zu ermöglichen:
with open('a', 'w') as a, open('b', 'w') as b: do_something()
Dadurch entfällt die Notwendigkeit verschachtelter „with“-Anweisungen oder der Verwendung von „contextlib.nested().“
Alternative Ansätze
In seltenen Fällen, in denen die Anzahl der zu öffnenden Dateien variabel ist, bietet „contextlib.ExitStack“ eine flexible Lösung, die in Python 3.3 und höher verfügbar ist:
with ExitStack() as stack: files = [stack.enter_context(open(fname)) for fname in filenames] # Do something with "files"
Allerdings ist die sequentielle Dateiverarbeitung oft besser geeignet, insbesondere wenn es um eine variable Anzahl von Dateien geht:
for fname in filenames: with open(fname) as f: # Process f
Das obige ist der detaillierte Inhalt vonWie kann man mehrere Dateien in Python mit der Anweisung „with open' effizient ändern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!