„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie kann die Dateiverwaltung mit mehreren „open()“-Anweisungen in Python optimiert werden?

Wie kann die Dateiverwaltung mit mehreren „open()“-Anweisungen in Python optimiert werden?

Veröffentlicht am 22.11.2024
Durchsuche:706

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

So verbessern Sie die Dateiverarbeitung mit mehreren Open-Anweisungen in Python

In Python ist die open()-Funktion ein vielseitiges Werkzeug für die Dateieingabe und Ausgabe. Wenn Sie mit mehreren Dateien arbeiten, ist es von Vorteil, die with-Anweisung zu verwenden, um eine ordnungsgemäße Ressourcenverwaltung sicherzustellen.

Situation:

Stellen Sie sich ein Codefragment vor, das Namen aus einer Datei liest und Hängt zusätzlichen Text an bestimmte Namen an. Die aktuelle Implementierung öffnet Dateien nacheinander, was möglicherweise nicht optimal ist.

Lösung:

Python ermöglicht die Verwendung mehrerer open()-Anweisungen innerhalb einer einzigen with-Anweisung durch Komma-Trennung ihnen. Dies ermöglicht den gleichzeitigen Umgang mit mehreren Dateien und verbessert die Ressourcenverwaltung.

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)

Zusätzliche Hinweise:

  • Die explizite Rückkehr von einer Funktion ohne Rückgabewert ist nicht erforderlich.
  • Diese Funktion wurde in Python 2.7 und 3.1 oder neuer eingeführt.
  • Wenn Kompatibilität mit Python-Versionen 2.5 oder 2.6 besteht erforderlich, eine Verschachtelung mit Anweisungen oder die Verwendung von contextlib.nested wird empfohlen.

Durch die Optimierung der Dateiverarbeitung auf diese Weise können Entwickler die Lesbarkeit des Codes, die Ressourcenverwaltung und die Gesamteffizienz verbessern.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3