-
예시로 배우는 파이썬 (WITH)PYTHON(파이썬)/파이썬 기초 2024. 10. 15. 05:35728x90반응형
#############################################################################
# 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())
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'PYTHON(파이썬) > 파이썬 기초' 카테고리의 다른 글
예시로 배우는 파이썬 (예외처리) (1) 2024.10.17 예시로 배우는 파이썬 (CLASS) (0) 2024.10.17 예시로 배우는 파이썬 (pickle) (13) 2024.10.14 예시로 배우는 파이썬 (파일 입/출력) (5) 2024.10.13 예시로 배우는 파이썬 (출력 포멧) (4) 2024.10.10