[Python] 파이썬 with이란?

2022. 9. 12. 15:56Programming/Python

 

최근 크롤링을 공부하던 중에 with 구문이 자주 보여서 정리를 하려 한다.

 

with이란?

 

 파일을 통한 작업을 진행할 때 파일을 한번 열었으면 이제 작업을 하고 나서는 열었던 파일을 저장하고 닫아(close) 줘야 한다. close가 되지 않는다면 해당 파일은 계속 열려있는 상태로 다른 프로그램에서는 접근이 불가능하다. 이런 상황을 막기 위해 close를 잊지말고 사용해야한다. 다만 우리가 코드를 작성하고 코드를 진행하며 오류가 생기거나 우리가 close의 작성을 빼먹는 경우도 존재한다. 이런 경우를 막기위해 사용하는 것이 with 구문이다.

 

- with 구문은 해당 구문이 실행이 되었을 때 오류의 유무에 상관없이 마지막에 close를 해준다.

 

 

구문의 형태

with <expression> as <variable>:
    실행1
    실행2

 

with의 expression에서 해당 구문에서 어떤 작업을 할 건지 작성하고 해당 작업이 어떤 변수인지는 as에서 체크를 해준다. 

해당 경우에서 주어진 실행문이 끝나면 자동으로 close를 하고 구문이 종료가 된다. 

 

with open('diary.txt','r') as f:
    contents = f.read()
    print(contents)

 

 

해당 with 구문을 실행 시 같은 폴더 안에 있는 diary.txt를 print 하고 종료가 된다.

 

with open('diary.txt','r') as f:
    contents = f.read()
    print(contents)


f = open('diary.txt','r')
contents = f.read()
print(contents)
f.close()

위와 아래는 똑같은 결과를 반환한다. 

'Programming > Python' 카테고리의 다른 글

[Python] n진법 변환  (0) 2022.11.24
[Python] sort & sorted  (0) 2022.11.16
[Python] 문자열 인덱싱 / 슬라이싱  (0) 2022.11.15
[Python] 알고리즘 - 파이썬  (0) 2022.07.02
[Python] sys.stdin.readline() vs input()  (0) 2022.03.23