*이 글을 읽기전에 작성자 개인의견이 있으니, 다른 블로그와 교차로 읽는것을 권장합니다.*
1. 파일 열기
open() 함수를 이용해 파일을 생성하고, 열며, close() 함수를 통해 파일을 저장하고 닫습니다.
- 읽은것인지 쓸것인지 모드에 들어감
- 바이너리 데이터: 동영상, 이미지, 글자가 아닌 데이터
- 텍스트 데이터는 생략이 가능함
- 운영체제의 힘을 빌려서 스트림을 통해 파일 입출력
- 열기: 입력+ 출력
- 입력: 밖에 있는 파일 불러오기
- 출력: 밖으로 파일 생성
f = open("파일명", "모드")
파일명: 열고자 하는 파일의 이름이나 경로
모드: 파일을 어떻게 열 것인지를 지정
r: 읽기 모드 (기본값) #read
w: 쓰기 모드 (파일이 있으면 덮어쓰기) #write
a: 추가 모드 (파일의 끝에 내용을 추가) #add
b: 바이너리 모드 (텍스트가 아닌 바이너리 데이터를 읽고/쓸 때 사용) #binary
+: 읽기와 쓰기 모드
r,w,a,b 모드는 사용할때 open('파일이름', 'r') 형태로 사용합니다.
.write(), .read(), .add(), .binary() 메서드를 사용할때 뒤에 lines를 사용하면 모든 줄 쓰기가 됩니다. 따라서 여러 문자열을 한 개의 메서드에 작성해야 할 경우 메서드 뒤에 +lines를 붙입니다.
2. 파일 쓰기
#open(),close(), w 쓰기모드
f=open('name.txt','w') #파일열기,쓰기모드
f.write('text message') #\n은 출력서식 개행문자
f.close() #파일닫기, 데이터저장
f=open('data.txt', 'wt')
for i in range(6):
f.write('파일 테스트: ' + str(i) + '\n')
f.close()
print('data.txt 파일에 쓰기 완료')
3. with문
with문은 파일을 열고 작업을 수행한 후 자동적으로 파일을 닫을 수 있습니다. open() 함수와 close() 함수의 기능을 동시에 가지고 있습니다. 다만, with + open() 함수를 써야하지만 close()는 쓰지 않아도 작동합니다.
# with문
# data폴더 만들고나서
with open('./data/input.txt', 'w') as f: #input.txt파일 쓰기모드로 f변수 지정
while True:
inn=input('단어 입력: ')
if inn.lower() =='quit':
break
f.write(inn+ '\n')
4. 파일 읽기
r모드를 통해 파일을 읽기모드로 사용합니다.
# r모드
f=open('name.txt', 'r')
a=f.read(4)
f.close()
print(a)
# while문과 with문을 사용해서 r모드
with open('name.txt', 'r') as f:
while True:
a=f.read(8)
#if가 True값을 출력한다면, if not은 False값을 출력합니다
if not a:
break
print(a, end='') #출력서식 붙여서
5. 예외 처리와 함께 사용
파일 입출력 중에는 여러 가지 오류가 발생할 수 있습니다 (예: 파일이 존재하지 않음). 이를 위해 try-except 블록을 사용해 오류를 예외처리합니다.
#예외처리와 병용
try:
with open('file.txt', 'r') as f: #FileNotFoundError에러
con=f.read()
print(con)
except FileNotFoundError:
print('파일 존재안함')
'Python 기초' 카테고리의 다른 글
파이썬 기초(20)- 변수 타입 어노테이션(annotation) (0) | 2024.03.20 |
---|---|
파이썬 예제(과제)-6. 파일 입출력을 이용한 단어장 만들기 (0) | 2024.03.20 |
파이썬 기초(18)-모듈과 random모듈 (0) | 2024.03.20 |
파이썬 예제(과제)-5. class문 (0) | 2024.03.20 |
파이썬 기초(17)-예외처리 (0) | 2024.03.19 |