Python Finally-Block

PythonPythonBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

Im Palast des antiken ägyptischen Pharaos entfaltet sich eine Szene von mystischer Anziehungskraft und komplexen Hieroglyphen. Die Ägyptische Königin, mit ihrer tiefgreifenden Weisheit, hat eine kritische Herausforderung gestellt: Die heiligen Schriften, die zur Aufrechterhaltung des Gleichgewichts der Nilfluten verwendet werden, drohen für immer verloren zu gehen. Sie, als vertrauenswürdiger Weise, wurden in den Palast gerufen, um ein widerstandsfähiges System zu konstruieren, das die Erhaltung dieser Schriften gewährleistet, indem Sie die Kräfte des finally-Blocks in Python nutzen.

Ihr Ziel ist es, einen unzerstörbaren Transkript-Halter zu schaffen, der seine Aufgaben auch bei unvorhergesehenen Fehlern wahrnimmt. Mit Ihren Fähigkeiten werden Sie die Konstruktion von Python-Skripts leiten, die Ausnahmen und gewährleistete Aktionen über den finally-Block behandeln, um sicherzustellen, dass die heiligen Schriften der Königin durch alle Prüfungen und Schwierigkeiten bestehen werden.

Das Tempel von Try-Except-Finally bauen

In diesem Schritt werden Sie die Grundlage Ihres Transkript-Halters schaffen, indem Sie eine Python-Datei erstellen, die während ihrer Ausführung gegen alle potenziellen Fehler gewappnet ist. Sie werden die Python-Blöcke try, except und finally verwenden, um dies zu erreichen.

Öffnen Sie in ~/project eine Datei namens transcript_keeper.py. Schreiben Sie in dieser Datei ein Python-Skript, das versucht, einen wichtigen Skript aus einer Datei zu lesen, die möglicherweise nicht existiert. Behandeln Sie die Ausnahme, wenn die Datei fehlt, und verwenden Sie den finally-Block, um eine Nachricht auszugeben, die gewährleistet, dass einige wichtige Bereinigungsaktionen durchgeführt wurden.

Hier ist der Code, den Sie in transcript_keeper.py platzieren sollen:

def preserve_script():
    try:
        with open('/home/labex/project/sacred_script.txt', 'r') as file:
            contents = file.read()
            print(contents)
    except FileNotFoundError:
        print('The sacred script cannot be found.')
    finally:
        print('Ensuring the preservation environment remains intact.')

preserve_script()

Führen Sie nun Ihr Skript im Terminal mit dem folgenden Befehl aus:

python3 ~/project/transcript_keeper.py

Wenn sacred_script.txt nicht existiert, sollte die Fehlermeldung angezeigt werden, gefolgt von der finally-Block-Nachricht:

The sacred script cannot be found.
Ensuring the preservation environment remains intact.

Die Logik in den Stein einritzen

Nachdem Sie die grundlegende Struktur erstellt haben, ist es jetzt an der Zeit, die Schutzlogik in den Stein einzuritzen und somit permanent zu machen. In diesem Schritt werden Sie den Transkript-Halter mit Aktionen erweitern, die unabhängig von erfolgreichen Lesevorgängen immer ausgeführt werden müssen.

Ändern Sie transcript_keeper.py, um eine simulierte Bereinigungsaktion im finally-Block hinzuzufügen, die das Speichern des Zustands der Skriptumgebung in eine Logdatei darstellt.

Fügen Sie das folgende am Ende Ihres finally-Blocks in transcript_keeper.py hinzu:

def preserve_script():
    try:
        with open('/home/labex/project/sacred_script.txt', 'r') as file:
            contents = file.read()
            print(contents)
    except FileNotFoundError:
        print('The sacred script cannot be found.')
    finally:
        print('Ensuring the preservation environment remains intact.')
        with open('/home/labex/project/preservation_log.txt', 'a') as log_file:
            log_file.write('Preservation check completed\n')

preserve_script()

Führen Sie das geänderte Skript erneut aus und überprüfen Sie, ob preservation_log.txt den Log-Eintrag enthält.

Die folgende Information sollte auf Ihrem Terminal angezeigt werden:

$ python3 ~/project/transcript_keeper.py
The sacred script cannot be found.
Ensuring the preservation environment remains intact.
$ cat /home/labex/project/preservation_log.txt
Preservation check completed

Zusammenfassung

In diesem Lab haben Sie eine Reise in das antike Ägypten unternommen, wo Sie Ihre Kenntnisse über den finally-Block in Python genutzt haben, um die Kontinuität der heiligen Schriften der Königin sicherzustellen. Mit dem finally-Block haben Sie ein robustes System geschaffen, das gewährleistet, dass bestimmte Aktionen, wie das Loggen, unabhängig von Fehlern, die während der Ausführung auftauchen, durchgeführt werden.

Durch diese mystische Reise haben Sie gelernt, wie wichtig Bereinigungsaktionen sind und wie sie mit dem finally-Block in Python implementiert werden können. Dieses Sicherheitsnetz gewährleistet, dass die kritischen Operationen Ihres Skripts abgeschlossen werden, was Vertrauen in die Widerstandsfähigkeit Ihres Codes vermittelt. Möge Ihre Reise durch das Reich von Python ebenso aufschlussreich wie die alte Weisheit Ägyptens sein.