이번 포스팅은 파이썬을 사용하면서 알게 된 with ~ as 문에 대해 이해하기 위해 정리한 글입니다.
| python with
- with은 파이썬에서 파일 처리를 하는데 제공하는 기능 중 하나입니다. 보통 프로그램에서 파일 처리를 한다고 하면
1. 파일을 연다 : open()
2. 파일을 처리한다 : read() or write() .. etc
3. 파일을 닫는다 : close()
이 세 가지의 방법을 기본으로 하여 처리를 합니다.
그런데 파일을 열고 처리를 했지만 오류가 생기거나 실수로 닫는 처리를 안 한다면 여러 가지 문제가 생길 것입니다.그래서 with은 실행했을 때 오류가 생겨도 해당 구문이 끝나면 close를 해주어 발생할 수 있는 문제를 예방할 수 있습니다.
그전에 python에서 file을 다루는 기본적인 방법을 가볍게 설명하고 with ~ as문을 설명하려고 합니다.
| python에서 file의 open()과 close()
- 파이썬에서 파일을 다루는 방법은 따로 포스팅을 할 예정이며 이번에는 간단하게 파일을 다루는 방법을 알아보겠습니다.
먼저 txt 파일을 만들어 첫 줄을 읽는 코드를 작성해 보겠습니다
예시)
file_path = 'path'
# 'r'은 파일을 읽는 다는 뜻
f = open(file_path + 'test.txt', 'r', encoding = 'utf-8')
# readline()은 txt에서 한 줄만 읽음
read_line = f.readline()
f.close()
print(read_line)
>>> test sample
- 정상적으로 test.txt의 첫 줄인 test sample을 읽은 것을 확인할 수 있습니다.
| with ~ as 문
- 위 코드를 보시면 open -> readline -> close 순서로 파일 처리가 됐다는 것을 볼 수 있는데 여기서 오류가 발생하거나 실수로 close를 하지 않는다면 파일은 계속해서 열려있는 상태로 유지가 됩니다. 이런 것을 with ~ as문을 사용하여 방지할 수 있습니다. 예시를 통해 알아보겠습니다.
예시)
file_path = 'path'
with open(file_path + '/test.txt', 'w', encoding = 'utf-8') as f :
f.write('this is test code')
결과)
- 기본적으로 with as 문은 with open() as 파일 객체 : 의 형태로 사용합니다. write가 끝난 뒤 자동으로 close 되며
앞서 코드보다 더 간결하게 파일 처리를 하는 것을 볼 수 있습니다.
파이썬의 with ~ as문을 알아봤습니다.
틀린 점이나 질문이 있으시면 댓글로 남겨주세요!
감사합니다 :)
'Python > Python 정리' 카테고리의 다른 글
[Python] os 모듈 (0) | 2022.07.02 |
---|---|
[Python] __enter__, __exit__ 메서드 (2) | 2022.06.13 |
[Python] for ~ else 문 정리 (0) | 2022.06.09 |
[Python] filter() 함수 정리 (0) | 2022.06.08 |
[Python] zip() 이해 (0) | 2022.04.28 |