⚠️ 이 포스팅은 인프런님의 프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)을 공부하고 정리한 블로그 포스팅입니다. ⚠️
포스팅에 해당하는 목차는 다음과 같습니다:
섹션 9. 파이썬 파일 쓰기
- File Write(1-1)
- File Write(1-2)
- File Write(1-3)
파이썬에서 파일 생성, 읽기, 쓰기 함수
- 파일 생성: open(), close()
- 파일 읽기: read(), readline(), seek()
- 파일 쓰기: write(), writeline(), writelines()
1. 파일 생성: open 함수, close 함수
- open(): 파일을 여는 함수
- close(): 파일을 닫는 함수
1.1 open() 함수
모드의 종류: r(read), w(write), a(append)
open('파일명', '모드', '인코딩')
절대경로 vs 상대경로
# 절대경로
# open('/Users/hyeonah/Documents/Study/Python/resource/news.txt')
# 상대경로
open('./resource/news.txt')
open() 함수로 파일열기
news = open('./resource/news.txt', 'r', encoding='UTF-8')
속성 확인
print(dir(news))
파일 이름
print(news.name)
모드 확인
print(news.mode)
인코딩 확인
print(news.encoding)
2. 파일 읽기: read 함수, seek 함수
- read(): 파일을 읽어오는 함수
- seek(): 파일의 특정부분을 찾는 함수
2.1 with문 정의
with문을 사용하면 close() 함수로 open된 파일을 닫지 않아도 된다(자동으로 닫힘)
with open('인자1', '인자2', '인자3') as 변수명:
...
with open('./resource/news.txt', 'r', encoding='UTF-8') as news:
# read() 함수 안에 첫번째 파라미터로 읽어올 용량을 넣어준다
# 여기서 단위는 byte고 공백 10칸, 영문 기준으로 10글자가 10byte다
content = news.read(10)
print(content)
# file.read()는 마지막으로 읽은곳을 기억하고 있다
content = news.read(20)
print(content)
# 처음으로 파일에 돌아가고싶으면 seek() 함수를 호출한다
news.seek(0, 0)
content = news.read(10)
print(content)
2.2 readline 함수
readline(): 파일을 한줄씩 읽어오는 함수
with open('./resource/news.txt', 'r', encoding='UTF-8') as news:
# 첫번째줄 읽어오기
line = news.readline()
print(line)
# 두번째줄 읽어오기
line = news.readline()
print(line)
2.3 readlines 함수
readlines(): 파일의 모든 줄을 읽어서 각각의 줄을 리스트로 만들어 리턴하는 함수
with open('./resource/news.txt', 'r', encoding='UTF-8') as news:
lines = news.readlines()
print(lines)
3. 파일 쓰기: write 함수, writelines 함수
3.1 write 함수
write(): 해당 파일에 내용을 쓰는 함수
# 덮어씌우기 (모드: write)
with open('./resource/news.txt', 'w') as news:
news.write('I love python\n')
# 추가하기 (모드: append)
with open('./resource/news.txt', 'a') as news:
news.write('I love react\n')
3.2 writelines 함수
writelines(): 파일에 list 요소를 쓰는 함수
with open('./resource/news.txt', 'w') as news:
fruits = ['Apple\n', 'Banana\n', 'Melon\n']
news.writelines(fruits)'Python' 카테고리의 다른 글
| [파이썬] 파이썬에서 자주쓰이는 내장함수 19가지와 사용법 (0) | 2022.03.23 |
|---|---|
| [파이썬] 예외처리 예제 (try, except, else, finally, raise) (0) | 2022.03.23 |
| [파이썬] 파이썬 에러 종류 9가지 (0) | 2022.03.23 |
| [파이썬] 클래스 (인스턴스란, 클래스 인스턴스 선언하고 사용하기) (0) | 2022.03.21 |
| [파이썬] 사용자의 입력값을 가져오는 input 함수 (0) | 2022.03.21 |
댓글