Language/Python

Python - 파일 읽고 쓰기

괘창 2024. 5. 7. 15:42

● 파일 읽고 쓰기

1. c 드라이브에 pythonworks 폴더 생성
2. 파일 생성
* 파일 객체 = open(파일경로 + 파일이름, 파일열기 모드)

- 파일열기 모드

 

※ 파일 열기모드 표

파일열기 모드 설명
r (read) 읽기모드 - 파일을 읽기만 할 때 사용, 파일이 존재하지 않으면 error 발생
w (write) 쓰기모드 - 파일에 내용을 쓸 때 사용, 파일이 존재하지 않으면 새파일 작성 후 저장
a (append) 추가모드 - 파일의 새로운 내용을 추가할 때 사용, 파일이 존재하지 않으면 새파일 작성 후 저장

 

파일 생성 예시)

f = open("c:/pythonworks/새파일.txt",'w') # 파일 생성 / 내용 없음.
f.close()

** 새파일.txt가 python 폴더 내에 생성된 것을 확인

** #C:\pythonworks < 윈도우 명령어 // 파이썬은 \역슬래시가 안닌 / 슬래시 사용 필요


- 파일을 쓰기 모드로 열어 내용 작성

 

예시)

 

▼메모장 내용▼

** c드라이브 pythonworks폴더 내에 새파일.txt 파일 내에 data에 입력한 내용 작성됨


- 파일 읽기 모드

readline 함수 사용

 

예시)

** readline() 함수는 파일의 가장 첫 번째 줄만 출력된다.


※ 여러줄을 출력하기 위해선!?


 

예시)

** while 반복문을 통해 무한루프 안에서 f.readline()을 사용하여 한 줄씩 읽는다.

** 더 이상 읽을 줄이 없을 때 break 수행

** 한 줄씩 읽어 출력할 때 끝 줄에 \n문자가 있으므로 빈 줄도 같이 출력


readlines 함수 사용

 

예시)

**  readlines 함수는 파일의 모든 줄을 읽어서 각각의 줄을 요소로 가지는 리스트를 리턴

 

for문 사용을 통해 줄내림 예시)

** for 반복문은 반복횟수를 알 수 있을 때 사용

줄 내림(\n) 제거하는 방법은?

f = open("c:/pythonworks/새파일.txt",'r')
lines = f.readlines()
for line in lines:
   line = line.strip() #strip()은 줄 끝에 \n을 제거한다.
   print(line)
f.close()

** strip() 함수를 사용하면 줄 바꿈 문자 제거가 가능하다.

 

예시)


read 함수 사용

 

예시)

** f.read() 함수는 파일 내용 전체를 문자열로 리턴

 


파일객체를 for문과 함께 사용하기

 

예시)

** 파일객체(f) 는 for문과 함께 사용하여 파일을 줄 단위로 읽을 수 있다.


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

 

예시)

** 'a'로 열고 write를 사용하여 결과값 추가


- with문과 함께 사용하기: close()를 생략할 수 있다.

 

기존 사용 예시)

 

with문 사용 예시)

** with 블럭을 벗어나는 순간 열린 파일 객체 f가 자동으로 close된다.