Python の finally ブロック

PythonPythonBeginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

古代エジプトのファラオの宫殿では、神秘的な魅力と复雑な象形文字の风景が広がっています。エジプトの女王は、その深い知恵を持ち、重大なチャレンジに直面しています。ナイル川の泛滥のバランスを维持するために使用される神圣な文字が、永远に失われるリスクにさらされているのです。あなたは信頼できる贤人として、宫殿に呼び出され、Pythonのfinallyブロックの力を使って、これらの文字を保存するための强靭なシステムを构筑することになっています。

あなたの目标は、予期せぬエラーに直面してもその职责を果たす、壊れない文字保管システムを作ることです。あなたのスキルを使って、finallyブロックを通じて例外と保证されたアクションを処理するPythonスクリプトの构筑を导き、女王の神圣な文字がどんな试练や苦难にも耐えられるようにします。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/ErrorandExceptionHandlingGroup(["Error and Exception Handling"]) python/ErrorandExceptionHandlingGroup -.-> python/finally_block("Finally Block") subgraph Lab Skills python/finally_block -.-> lab-271554{{"Python の finally ブロック"}} end

Try-Except-Finallyの神殿を构筑する

このステップでは、実行中に起こり得る潜在的な失败に耐えるPythonファイルを作成することで、文字保管システムの基础を构筑します。これを达成するために、Pythonのtryexcept、およびfinallyブロックを利用します。

~/projectにあるtranscript_keeper.pyという名前のファイルを开きます。このファイルには、存在しない可能性のあるファイルから重要な文字を読み取ろうとするPythonスクリプトを书きます。ファイルが见つからない场合の例外を処理し、finallyブロックを使って、いくつかの重要なクリーンアップアクションが実行されたことを确保するメッセージを表示します。

transcript_keeper.pyに记入するコードは次のとおりです。

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()

次に、ターミナルで次のコマンドを使ってスクリプトを実行します。

python3 ~/project/transcript_keeper.py

sacred_script.txtが存在しない场合、エラーメッセージが表示され、その后finallyブロックのメッセージが表示されるはずです。

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

ロジックを石に刻む

基本构造を作成したので、今度は保护ロジックを石に刻み、永久にする时间です。このステップでは、読み取り操作が成功しようがしなかろうが必ず実行されるアクションで文字保管システムを强化します。

transcript_keeper.pyを修正して、finallyブロックにスクリプト环境の状态をログファイルに保存するという疑似的なクリーンアップアクションを追加します。

transcript_keeper.pyfinallyブロックの末尾にこれを追加します。

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()

修正したスクリプトを再度実行し、preservation_log.txtにログエントリがあることを确认します。

端末には以下の情报が表示されるはずです。

$ 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

まとめ

この実験では、あなたは古代エジプトへの旅に出ました。そこでは、Pythonのfinallyブロックに関する知识を使って、女王の神圣な文字の継続性を确保しました。finallyブロックを使って、実行中に遭遇するエラーにかかわらず、ログ记录などの特定のアクションが実行されるようにする、强力なシステムを作成しました。

この神秘的な冒険を通じて、クリーンアップアクションの重要性と、Pythonのfinallyブロックを使ったその実装方法を学びました。このセーフティネットにより、スクリプトの重要な操作が完了することが保证され、コードの强靭性に自信を持てるようになります。あなたのPythonの世界を旅する道が、エジプトの古代の知恵と同じくらい启発的であり続けますように。