본문 바로가기

Python

[Python] 파일 입출력 간단하게 하기

이 글은 프로그래머스의 파이썬을 파이썬답게 강의를 수강하고 작성하는 글입니다.

 

보통 'myfile.txt'라는 이름의 파일을 읽는 코드를 짤 때 다음과 같이 EOF를 만날 때까지 파일 읽기를 반복한다.

f = open('myfile.txt', 'r')
while True:
    line = f.readline()
    if not line: break
    raw = line.split()
    print(raw)
f.close()

 

파이썬의 with - as 구문을 이용하면 코드를 더 간결하게 짤 수 있다.

with open('myfile.txt') as file:
  for line in file.readlines():
    print(line.strip().split('\t'))

 

코드를 위와 같이 쓰면 다음과 같은 장점이 있다

  • 파일을 close하지 않아도 된다. (with - as 블록이 종료되면 파일이 자동으로 close된다.)
  • readlines가 EOF까지만 읽으므로, while문 안에서 EOF를 체크할 필요가 없다.

with - as 구문은 파일 뿐만 아니라 socket이나 http등에서도 사용할 수 있다.

'Python' 카테고리의 다른 글

[Python] 문자열 포맷팅 방법  (0) 2021.01.13
[Python] range함수  (0) 2021.01.13
[Python] 가장 큰 수, inf  (0) 2021.01.10
[Python] 두 변수의 값 바꾸기 - swap  (0) 2021.01.10
[Python] flag OR for-else  (0) 2021.01.10