1 텍스트 파일 사용
- 기본 프로세스: 텍스트파일 => open() => 읽고, 쓰기 => close()
- 아래는 처음에 파일 생성, 파일 읽어와서 그걸 수정, 다시 덮어쓰기의 흐름.
file = open('C:/python/test.txt', 'w')
strCnt = file.write('Hello world')
file.close()
file = open('C:/python/test.txt', 'r')
str1 = file.read()
str1 = str1.replace('world', 'python')
print(str1)
file.close()
file = open('C:/python/test.txt', 'w')
file.write(str1)
file.close()
- 디렉토리에는 \를 사용하거나 \를 2번 사용한다. \n \t 등과 헷갈려서?
- 파일 모드 8가지 중 자주 쓰는 4가지
- w: write. 쓰기. 파일 있으면 덮어쓴다.
- a: append. 쓰기(추가하기). 파일 있으면 뒤에 덧붙인다.
- x: 쓰기. 파일 있으면 에러 발생. 새 파일 생성 경우만 가능.
- r: 읽기 전용. 파일 없으면 에러 쓴다.
- 파일 읽는 방법 여러 가지
line = f.readline() 하면 첫 1줄 str으로 return. 그리고 이걸 for이나 while문으로 돌리면, 1줄, 2줄 순서대로 읽는다. 내부적으로 현재 위치 추적하고 기억해서, 다음 거를 불러오는 구조.
lines = f.readlines()하면 줄별로 str이 든 list로 return. 공백문자들도 포함되어서, line.strip()으로 공백문자(\n, \t, space) 제거 가능.
line = read() 내용 전체를 str으로 return.
- 파일 쓰는 방법 여러 가지
- f.write() 1줄 입력. 변수에 저장하면 길이가 저장된다.
- f.writelines() 리스트 튜플 등 iterable 객체를 받는다. 줄바꿈은 별도로 없어서, 줄바꿈이나 띄워쓰기 하려면 각자 집어넣어야 한다.
- 리스트, 딕셔너리, 튜플 등을 모양 그대로 넣기.
with open(주소, 'a') as f: print(리스트or딕셔너리or튜플등, file=f)
- 아래는 모두 같은 걸 입력하는 방법
for i in 리스트:
with open('주소', 'a') as f:
f.write(i + '\n')
with open(주소, 'a') as f:
f.writelines(i + '\n' for i in 리스트)
with open(주소, 'a') as f:
f.write('\n'.join(리스트))
2 with~as문
file = open('C:/python/test.txt', 'w')
strCnt = file.write('Hello world')
file.close()
with open('C:/python/test.txt', 'w') as f:
f.write('Hello world')