파일 경로
더보기
파이썬 코드에서는 파일 경로를 슬래시(/)로 표시합니다.
예) "/content/data/dataname.csv"
역슬래시(\)를 사용하면 \n과 같은 이스케이프 문자와 혼동이 될 수 있으므로, 역슬래시를 2개 사용하거나 문자열 앞에 r문자를 더해줘야합니다
예) "\\content\\data\\newfile.txt", r"\content\data\newfile.txt"
파일 열기, 닫기
- open(): ' 파일 이름’과 ‘파일 열기 모드’를 입력 값으로 받고 결과 값으로 파일 객체 리턴, 파일을 처리하려면 가장 먼저 파일을 열어야 함
- r: 읽기 모드 (파일이 존재하지 않으면 오류 발생)
- w: 쓰기 모드 (파일이 존재하지 않으면 새로 만들고, 파일이 존재하면 덮어쓰기)
- a: 추가 모드 (파일 끝에 데이터를 추가)
- b: 바이너리 모드 (이진 파일 읽기/쓰기, rb나 wb처럼 다른 모드와 함께 사용)
open_file = open("파일이름", "모드")
- close(): 파일 닫기, 파일을 닫지 않으면 데이터 손실이나 잠금과 같은 문제 발생
file = open("example.txt", "r") # 읽기 모드로 파일 열기
# 파일 처리 작업 수행
file.close() # 파일 닫기
- with open(): 블록이 끝날 때 자동으로 파일 닫기
with open("example.txt", "r") as file:
# 파일 처리 작업 수행
file_text = file.read()
#자동으로 닫히기 때문에 close() 호출 필요 없음
파일 읽기
- read(): 파일 전체 내용 읽기 (크기가 큰 파일일 경우 메모리 문제가 발생할 수 있으므로 주의)
with open("example.txt", "r") as file:
file_text = file.read()
print(file_text)
- readline(): 한 줄씩 읽기 (특정 줄만 필요할 때 유용)
with open("example.txt", "r") as file:
line = file.readline()
print(line)
- readlines(): 파일의 모든 줄을 리스트 형태로 읽기, 각 줄이 리스트의 요소로 저장
with open("example.txt", "r") as file:
lines = file.readlines()
for line in lines:
print(line.strip()) # 각 줄의 공백을 제거하고 출력
파일 쓰기
파일을 열 때 쓰기 모드(w)와 추가 모드(a)를 선택한 경우 가능합니다.
- write(): 파일에 문자열 쓰기 (파일에 내용이 이미 있을 경우, 기존 내용에 덮어씌움)
with open("output.txt", "w") as file:
file.write("파일에 새로운 내용 쓰기")
- writelines(): 리스트에 있는 여러 줄을 한 번에 쓰기
lines = ["첫 번째 줄\\n", "두 번째 줄\\n", "세 번째 줄\\n"]
with open("output.txt", "w") as file:
file.writelines(lines)
- 추가 모드 ( a ): 파일의 기존 내용을 유지하며 파일 끝에 데이터 추가
with open("output.txt", "a") as file:
file.write("기존 파일 내용의 끝에 데이터 추가")
파일 처리 주의사항
- 올바른 파일 경로 지정 (잘못된 경로를 지정 시, 파일을 찾을 수 없음)
- 파일 모드 확인 (모드 잘못 선택 시, 파일 내용이 덮어써지거나 읽기 전용 파일이라 데이터를 쓰거나 추가할 수 없음)
- 파일 닫았는지 확인 (메모리 누수, 파일 잠금 등의 문제 발생 가능)
- 예외 처리를 통한 파일 처리 오류 대비 (파일이 존재하지 않거나 접근 권한 없는 경우 등)