Python에서는 open() 함수를 사용하여 텍스트 또는 바이너리 파일을 읽고 쓰는 작업을 수행할 수 있습니다.
open(), 파일 모드(r, w, a, b, +), close()python
f = open("example.txt", "r")
| 모드 | 설명 |
|---|---|
'r' | 읽기 전용 (파일이 없으면 오류 발생) |
'w' | 쓰기 전용 (기존 파일 삭제 후 새로 생성) |
'a' | 쓰기 전용 (파일 끝에 내용 추가) |
'b' | 바이너리 모드 (예: 이미지, 영상) |
'+' | 읽기/쓰기 겸용 (r+, w+, a+) |
파일을 사용한 후에는 반드시 닫아줘야 합니다.
python
f = open("example.txt", "r")
f.close()
전체 내용을 문자열로 읽습니다.
python
f = open("example.txt", "r")
content = f.read()
print(content)
f.close()
한 줄씩 읽습니다.
python
f = open("example.txt", "r")
line1 = f.readline()
line2 = f.readline()
print(line1, line2)
f.close()
모든 줄을 리스트 형태로 읽습니다.
python
f = open("example.txt", "r")
lines = f.readlines()
print(lines)
f.close()
파일 내 현재 위치(바이트)를 반환합니다.
python
f = open("example.txt", "r")
f.read(5)
print(f.tell()) # 5
f.close()
파일 내 원하는 위치로 커서를 이동합니다.
python
f = open("example.txt", "r")
f.seek(0) # 맨 앞으로 이동
print(f.read())
f.close()
문자열을 파일에 씁니다.
python
f = open("example.txt", "w")
f.write("Hello, Python!\n")
f.write("File I/O is important.")
f.close()
리스트로 전달된 여러 줄을 한 번에 씁니다. 줄바꿈 문자(\n)는 직접 포함해야 합니다.
python
lines = ["First line.\n", "Second line.\n", "Third line.\n"]
f = open("example.txt", "w")
f.writelines(lines)
f.close()
파일 작업 시 가장 추천되는 방식입니다. 자동으로 close()가 호출되어 리소스를 안전하게 반환합니다.
python
with open("example.txt", "r") as f:
data = f.read()
print(data)
# f는 자동으로 닫힘
| 함수/키워드 | 설명 |
|---|---|
open() | 파일 열기 |
read(), readline(), readlines() | 파일 읽기 |
write(), writelines() | 파일 쓰기 |
tell() / seek() | 위치 정보 확인 및 이동 |
with open(...) as ... | 자동으로 close() 처리되는 안전한 방법 |
마무리
이번 시리즈에서는 파일 입출력에 대해서 공부를 해보았습니다.
다음에는 예외처리 구조에 대해서 학습해보겠습니다.