파이썬(Python)

[ Basic ] 파이썬 with 구문 : with ~ as

카루루1007 2023. 3. 17. 22:14
728x90
반응형
SMALL

파일을 열거나 할 때 

파일을 열고, 작업을 하고, 파일을 닫는 작업을 해주어야 합니다.

 

 먼저 같단하게 텍스트 파일(txt)을 열고 

[ HELLO ]라고 작성한 후

파일을 다시 닫는 코드를 살펴보겠습니다.

※ 파이썬에서 파일을 읽기, 쓰기에 대한 내용은 여기서 확인하실 수 있습니다.

f = open('test.txt', 'w')

f.write('Hello')

f.close()

위 코드를 실행하면

[ test.txt ]파일이 생성되고, 해당 파일을 열어보면

[ Hello ]라고 적혀 있는 것을 보실 수 있습니다.

 

만약에 어떠한 개체를 열고 작업한 후에 닫지 않는다면, 

프로그램이 제대로 작동하지 않거나,

작동을 하더라도

메모리를 더 잡아 먹거나, 파일이 손상되거나하는 등의 예기치 못한

문제가 발생할 수도 있습니다. 

 

with 구문은 해당 개체를 사용한 후 자동으로 닫아주는 기능을 수행하여

코드를 작성하는 사람이 신경써야 할 것을 줄여줍니다. 

 

이번에는 with 문을 사용한 코드를 살펴보겠습니다.

with문을 사용하지 않은 코드와 비교해 보시기 바랍니다.

 

with 문을 사용하지 않은 코드 ]

f = open('test.txt', 'w')

f.write('Hello')

f.close()

 

with 문을 사용한 코드 ]

with open('test.txt', 'w') as f:
    f.write('Hello')



이렇게 하면 with 블록에서 벗어날 때 자동으로 close 메서드가 호출되므로

따로 명시하지 않아도 됩니다.

또한 예외가 발생해도 `__exit__` 메서드가 실행되므로 안전하게 리소스를 해제할 수 있습니다.

if 문과 함께 사용하여 

어떤 조건이 만족했을 때 해당 코드가 실행되게도 할 수 있습니다.

if True:
    with open('test.txt', 'w') as f:
        f.write('Hello')
위 구문에서 True 부분에 어떤 조건을 적어주면
조건이 [ 참 ]일 경우 그 아래 코드가 실행되게 할 수 있습니다.
 

with 구문을 사용하면 어떤 개체를 열었을 때 

닫는 구문을 명시하지 않아되며,

해당 코드 안에서 오류가 발생하더라도 처리가 용이해집니다.

 

728x90
반응형
LIST