PYTHON · 파일/IO
파일 I/O & pathlib
pathlib으로 경로를 객체지향적으로 처리하고 파일을 안전하게 읽고 씁니다.
파일/IO입문pathlibopenwithjsonread_text
핵심 설명
pathlib으로 경로를 객체지향적으로 처리하고 파일을 안전하게 읽고 씁니다.
Python code
from pathlib import Path
import json
# pathlib — 경로 조작
base = Path("/home/user/projects")
file = base / "data" / "config.json" # / 연산자로 결합
print(file.name) # config.json
print(file.stem) # config
print(file.suffix) # .json
print(file.parent) # /home/user/projects/data
# 파일 읽기 (with문으로 자동 닫기)
sample = Path("sample.txt")
sample.write_text("Hello\nWorld\nPython", encoding="utf-8")
# 전체 읽기
content = sample.read_text(encoding="utf-8")
# 줄 단위 읽기
with sample.open(encoding="utf-8") as f:
for line in f: # 메모리 효율적
print(line.rstrip())
# 파일 쓰기
with open("output.txt", "w", encoding="utf-8") as f:
f.write("첫 번째 줄\n")
f.writelines(["두\n", "세\n"])
# JSON 처리
data = {"name": "Alice", "scores": [95, 87, 92]}
Path("data.json").write_text(
json.dumps(data, ensure_ascii=False, indent=2),
encoding="utf-8"
)
loaded = json.loads(Path("data.json").read_text(encoding="utf-8"))
# 디렉토리 순회
for p in Path(".").glob("*.py"):
print(p)
for p in Path(".").rglob("*.json"): # 재귀
print(p)학습 팁
pathlib.Path는 OS에 관계없이 경로를 일관되게 처리합니다. os.path.join()보다 훨씬 직관적입니다.
주의할 점
open()으로 파일을 열고 close()를 빠뜨리면 리소스 누수가 발생합니다. 항상 with문을 사용하세요.
자주 묻는 질문
파일 I/O & pathlib란 무엇인가요?
pathlib 으로 경로를 객체지향적으로 처리하고 파일을 안전하게 읽고 씁니다.
파일 I/O & pathlib 학습 시 주의할 점은 무엇인가요?
open() 으로 파일을 열고 close() 를 빠뜨리면 리소스 누수가 발생합니다. 항상 with 문을 사용하세요.
Continue Learning
Python 학습을 이어가세요
총 200개의 독립 HTML 학습 문서 중 하나입니다. 각 문서는 고유 URL과 canonical 메타데이터를 가집니다.