ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 예시로 배우는 파이썬 (WITH)
    PYTHON(파이썬)/파이썬 기초 2024. 10. 15. 05:35
    728x90
    반응형

     

    #############################################################################

    # Python 기초 12 : with

    # eplus(www.eiot.co.kr)-나도코딩(YouTube):파이썬 코딩 무료 강의 (기본편) 참조

    #############################################################################

     

    with open("study.txt", "w", encoding = "utf8") as s_file:

    s_file.write("파이썬은 GOOD!")

     

    with open("study.txt", "r", encoding = "utf8") as s_file:

    print(s_file.read())

     

    ePython-15.py
    0.00MB

    Goover는?

    파이썬의 with 문은 자원 관리를 간편하게 해주는 특별한 문법입니다. 주로 파일이나 네트워크 연결과 같은 외부 자원을 사용할 때 그 자원을 효율적으로 얻고 해제하는 데 유용하게 사용됩니다. 특히, 여러분이 자원을 사용한 후 수동으로 닫는 것을 잊어버릴 걱정 없이 자동으로 정리해주는 것이 큰 장점입니다.

    with 문의 사용 방법

    with 문을 사용할 때는 일반적으로 다음과 같은 형태로 작성합니다.

    with open('파일명', '모드') as 파일객체:
        # 파일을 사용할 수 있는 코드 블록
    

    위 코드에서 open 함수는 파일을 열고, 해당 파일에 대한 객체를 반환합니다. with 문은 이 객체를 파일객체에 바인딩(bind)하고, 코드 블록이 끝나면 자동으로 파일을 닫아줍니다. 이때 __enter__와 __exit__ 메서드가 내부적으로 호출되어 파일을 안전하게 열고 닫는 역할을 합니다.

    예제와 동작 설명

    예를 들어, 아래와 같은 코드를 살펴볼 수 있습니다.

    with open('poem.txt', 'r') as f:
        for line in f:
            print(line, end='')
    

    위 예제는 poem.txt 파일을 열고, 파일 내용의 각 줄을 출력합니다. with 문을 사용함으로써, 파일을 명시적으로 닫는 f.close()를 호출할 필요가 없습니다. 코드를 실행한 후 with 블록을 벗어나면 파일은 자동으로 닫히고 모든 자원이 해제됩니다. 이는 일반적인 예외 상황에서도 작동하여, 프로그램이 비정상적으로 종료되더라도 파일이 안전하게 닫히도록 보장합니다.

    예외 처리와 with 

    with 문을 사용하면 예외 발생 시에도 자원이 올바르게 해제됩니다. 위의 자료에서 언급된 예시처럼 만약 사용자가 중단 시그널을 보낼 경우(ctrl + C), 예외가 발생하고 프로그램이 종료되더라도 __exit__ 메서드가 호출되어서 파일이 닫히고 청소 작업이 이루어집니다. 이렇게 예외 처리를 간편하게 한다는 점은 코드의 안정성을 높이는 데 매우 중요합니다.

    요약

    with 문은 파이썬에서 자원을 자동으로 관리하는 매우 유용한 도구입니다. 파일을 읽거나 쓸 때, 데이터베이스 연결, 네트워크 연결 등과 같은 경우에 활용하실 수 있으며, 이를 통해 에러를 방지하고 코드 가독성을 향상시킬 수 있습니다. 코드에서 자원을 안전하게 다루고 싶다면 with 문을 적극 활용하시기 바랍니다.

     

    728x90
Designed by Tistory.