Wie können Sie mehrere Dateien gleichzeitig mit der Python-Anweisung „with open' öffnen?

Linda Hamilton
Freigeben: 2024-11-16 03:06:03
Original
309 Leute haben es durchsucht

How Can You Open Multiple Files Simultaneously Using Python's

Öffnen mehrerer Dateien mit der „with open“-Anweisung in Python

Pythons „with open“-Anweisung ist eine praktische Möglichkeit, Dateien in einem Kontextmanager zu öffnen und mit ihnen zu arbeiten . Standardmäßig ist jedoch jeweils nur das Öffnen einer Datei möglich. Aber was ist, wenn Sie mehrere Dateien gleichzeitig ändern oder aus ihnen lesen möchten?

„Mit offenen“ Aufrufen zusammenführen

Kurze Antwort: Seit Python 2.7 oder 3.1 ist das einfach möglich Listen Sie mehrere „with open“-Anweisungen ohne das Schlüsselwort „and“ auf:

with open('a', 'w') as a, open('b', 'w') as b:
    # Perform actions on file handles 'a' and 'b'
Nach dem Login kopieren

Verschachtelung von „with open“-Anweisungen

In früheren Python-Versionen konnten Sie „contextlib.nested()“ verwenden " Methode zum Verschachteln von Kontextmanagern. Dieser Ansatz wird jedoch nicht zum Öffnen mehrerer Dateien empfohlen.

Contextlib.ExitStack

Für Situationen, in denen Sie eine variable Anzahl von Dateien gleichzeitig öffnen müssen, hat Python 3.3 den „contextlib.ExitStack“ eingeführt „Kontextmanager. Dadurch können Sie mehrere Dateiobjekte zu einem Stapel hinzufügen und in der richtigen Reihenfolge beenden:

import contextlib
with contextlib.ExitStack() as stack:
    files = [stack.enter_context(open(fname)) for fname in filenames]
    # Work with 'files' here
Nach dem Login kopieren

Sequentielle Dateiverarbeitung

Bedenken Sie, dass dies in den meisten Fällen effizienter und idiomatischer ist um Dateien nacheinander zu verarbeiten. Sie können beispielsweise eine Schleife verwenden, um jede Datei einzeln zu öffnen und damit zu arbeiten:

for fname in filenames:
    with open(fname) as f:
        # Process file 'f' here
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie können Sie mehrere Dateien gleichzeitig mit der Python-Anweisung „with open' öffnen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage