Python Finally 블록

PythonBeginner
지금 연습하기

소개

고대 이집트 파라오의 궁전에서 신비로운 매력과 복잡한 상형 문자가 펼쳐지는 장면이 펼쳐집니다. 이집트 여왕은 심오한 지혜를 가지고 나일강 범람의 균형을 유지하는 데 사용되는 신성한 문자가 영원히 사라질 위험에 처하는 중대한 도전에 직면했습니다. 당신은 신뢰받는 현자로서, Python 의 finally 블록의 힘을 사용하여 이러한 문서를 보존하는 견고한 시스템을 구축하기 위해 궁전에 소환되었습니다.

당신의 목표는 예상치 못한 오류에 직면하더라도 임무를 수행하는 깨지지 않는 기록 보관자를 만드는 것입니다. 당신의 기술을 사용하여, finally 블록을 통해 예외를 처리하고 보장된 작업을 수행하는 Python 스크립트의 구축을 안내하여 여왕의 신성한 문자가 어떤 시련과 고난 속에서도 견딜 수 있도록 할 것입니다.

Try-Except-Finally 사원 건설

이 단계에서는 실행 중에 발생할 수 있는 모든 잠재적 실패를 견딜 수 있는 Python 파일을 생성하여 기록 보관자의 기반을 구축합니다. 이를 위해 Python 의 try, except, 그리고 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 영역을 통한 여정이 고대 이집트의 지혜만큼이나 계몽적이기를 바랍니다.