Wisdom’s Cloud

[PYTHON] 6. 파일 읽고 쓰기 본문

PYTHON

[PYTHON] 6. 파일 읽고 쓰기

지혜로운지혜쓰 2021. 2. 16. 18:13
  • 파일 생성하기

파일 객체 = open(파일 이름, 파일 열기 모드)
파일 열기 모드 설명
r 읽기 모드 - 파일을 읽기만 할 때 사용
w 쓰기 모드 - 파일에 내용을 쓸 때 사용
(해당 파일이 존재할 경우 원래 있던 내용이 모두 사라지고, 해당 파일이 존재하지 않으면 새로운 파일이 생성됨)
a 추가 모드 - 파일의 마지막에 새로운 내용을 추가할 때 사용

 

  • 파일을 쓰기 모드로 열어 출력값 적기

# writedata.py
f = open("C:/doit/새파일.txt", 'w')
for i in range(1, 11):
   data = "%d번째 줄입니다.\n" %i
   f.write(data)
f.close()

명령 프롬프트 창에서 다음과 같이 실행한다.
C:\/doit 디렉터리를 살펴보면 새파일.txt 파일이 생성되었음을 확인할 수 있고, 모니터 화면에 출력될 내용이 고스란히 파일에 들어 있는 것을 볼 수 있다.

 

  • 프로그램의 외부에 저장된 파일을 읽는 여러 가지 방법

# readline 함수 사용하기
f = open("C:\doit/새파일.txt", 'r')
line = f.readline()
print(line)
f.close()
# 파일을 읽기 모드로 연 후 파일의 첫 번째 줄을 읽어서 출력하는 경우다.
f = open("C:\doit/새파일.txt", 'r')
while True:
   line = f.readline()
   if not line: break
   print(line)
f.close()
# 모든 줄을 읽어서 화면에 출력하고 싶다면 위와 같이 작성하면 된다.

# readlines 함수 사용하기
f = open("C:\doit/새파일.txt", 'r')
lines = f.readlines()
for line in lines:
   print(line)
f.close()
# 파일의 모든 줄을 읽어서 각각의 줄을 요소로 갖는 리스트로 돌려준다.

# read 함수 사용하기
f = open("C:\doit/새파일.txt", 'r')
data = f.read()
print(data)
f.close()
# 파일의 내용 전체를 문자열로 돌려준다. 따라서 data는 파일의 전체 내용이다.

 

  • 파일에 새로운 내용 추가하기

# adddata.py
f = open("C:\doit/새파일.txt", 'a')
for i in range(11, 20):
   data = "%d번째 줄입니다.\n" %i
   f.write(data)
f.close()

마찬가지로 명령 프롬프트 창에서 다음과 같이 실행한다.
파일을 확인해 보면 원래 있던 내용 뒤에 새로운 내용이 추가되었음을 볼 수 있다.

 

  • with문과 함께 사용하기

f = open("foot.txt", 'w')
f.write("Life is too short, you need python")
f.close()
# 파일을 열면 위와 같이 항상 close해 주는 것이 좋다.
# 하지만 이렇게 파일을 열고 닫는 것은 귀찮기 때문에 이를 자동으로 처리하기 위해 with문을 사용한다.

with open("foo.txt", 'w') as f:
   f.write("Life is too short, you need python")
# 위와 같이 with문을 사용하면 with 블록을 벗어나는 순간 열린 파일 객체 f가 자동으로 close되어 편리하다.

'PYTHON' 카테고리의 다른 글

[PYTHON] 8. 모듈  (0) 2021.02.24
[PYTHON] 7. 클래스  (0) 2021.02.24
[PYTHON] 5. 사용자 입력과 출력  (0) 2021.02.16
[PYTHON] 4. 함수  (0) 2021.02.16
[PYTHON] 3. 파이썬 제어문  (0) 2021.01.08