Programming/Python
파일 읽고 쓰기
오숭이
2022. 1. 3. 17:26
파일 생성하기
아래 코드는 실행 시, 프로그램을 실행한 디렉터리에 새로운 파일이 하나 생성된다.
f = open("새파일.txt", 'w')
f.close()
파일을 생성하기 위해서는 파이썬의 내장 함수인 open을 사용한다. open 함수는 "파일 이름"과 "파일 열기 모드"를 입력값으로 받고 결과값으로 파일 객체(f)를 돌려준다.
파일 열기 모드 | 설명 |
r | 읽기 모드 - 파일을 읽기만 할 때 사용 |
w | 쓰기 모드 - 파일에 내용을 쓸 떄 사용 |
a | 추가 모드 - 파일의 마지막에 새로운 내용을 추가할 때 사용 |
쓰기모드(w)로 파일을 열면, 해당 파일이 이미 존재할 경우, 원래 있던 내용이 모두 사라지고, 해당 파일이 존재하지 않으면 새로운 파일이 생성된다.
위 코드에서, f.close()는 열려있는 파일 객체를 닫아주는 역할을 한다.
파일을 쓰기모드로 열어 출력하기
파일에 결과값을 적는 방법은 파일객체의 write 함수를 사용하는 것이다.
아래 코드에 예시가 있다.
f = open("C:/doit/새파일.txt", 'w')
for i in range(1, 11):
data = "%d번째 줄입니다.\n" % i
f.write(data)
f.close()
프로그램의 외부에 저장된 파일을 읽는 방법
-readline 함수 이용하기
파일객체의 readline()은 파일의 첫 번째 줄을 읽어 출력한다.
모든 줄을 읽고 싶다면, while문에서 사용하면 된다.
f = open("C:/doit/새파일.txt", 'r')
while True:
line = f.readline()
if not line: break
print(line)
f.close()
-readlines 함수 이용하기
파일객체의 readlines()은 파일의 모든 줄을 읽어서 각각의 줄을 요소로 갖는 리스트로 돌려준다.
f = open("C:/doit/새파일.txt", 'r')
lines = f.readlines()
for line in lines:
print(line)
f.close()
위 코드의 lines는 리스트 ["1 번째 줄입니다.\n", "2 번째 줄입니다.\n", ..., "10 번째 줄입니다.\n"]가 된다.
줄 바꿈문자를 제거하고 싶다면, strip()을 사용한다.
-read 함수 사용하기
파일객체의 read()는 파일의 내용 전체를 문자열로 돌려준다.
f = open("C:/doit/새파일.txt", 'r')
data = f.read()
print(data)
f.close()
위 예시의 data는 파일의 전체 내용이다.