PHpullh

PYTHON · 파일/IO

임시 파일

tempfile로 안전한 임시 파일과 디렉터리를 생성하고 자동 정리합니다.

파일/IO중급tempfile임시 파일TemporaryDirectory

핵심 설명

tempfile로 안전한 임시 파일과 디렉터리를 생성하고 자동 정리합니다.

Python code

import tempfile
import os

# 임시 파일 (자동 삭제)
with tempfile.NamedTemporaryFile(
    mode="w", suffix=".txt", prefix="myapp_",
    delete=True, encoding="utf-8"
) as tmp:
    tmp.write("임시 데이터")
    tmp.flush()
    print(f"임시 파일: {tmp.name}")
    print(f"존재: {os.path.exists(tmp.name)}")
# 블록 종료 후 자동 삭제

# 임시 디렉터리 (자동 삭제)
with tempfile.TemporaryDirectory(prefix="myapp_") as tmpdir:
    print(f"임시 디렉터리: {tmpdir}")
    # 디렉터리 안에 파일 생성
    filepath = os.path.join(tmpdir, "data.txt")
    with open(filepath, "w") as f:
        f.write("테스트 데이터")
    print(f"파일 존재: {os.path.exists(filepath)}")
# 블록 종료 후 디렉터리와 내용물 삭제

# SpooledTemporaryFile: 크기 초과 시 디스크로
with tempfile.SpooledTemporaryFile(
    max_size=1024, mode="w+", encoding="utf-8"
) as tmp:
    tmp.write("작은 데이터 → 메모리에 유지")
    tmp.seek(0)
    print(f"내용: {tmp.read()}")

# 안전한 임시 경로 생성
print(f"임시 디렉터리 경로: {tempfile.gettempdir()}")
print(f"고유 파일명: {tempfile.mktemp(suffix='.dat')}")

학습 팁

TemporaryDirectory는 테스트에서 격리된 파일 시스템 환경을 만들 때 유용합니다.

주의할 점

NamedTemporaryFile(delete=True)는 Windows에서 다른 프로세스가 파일에 접근하지 못할 수 있습니다. delete=False로 생성하고 수동 삭제하세요.

자주 묻는 질문

임시 파일란 무엇인가요?

tempfile 로 안전한 임시 파일과 디렉터리를 생성하고 자동 정리합니다.

임시 파일 학습 시 주의할 점은 무엇인가요?

NamedTemporaryFile(delete=True) 는 Windows에서 다른 프로세스가 파일에 접근하지 못할 수 있습니다. delete=False 로 생성하고 수동 삭제하세요.

Continue Learning

Python 학습을 이어가세요

총 200개의 독립 HTML 학습 문서 중 하나입니다. 각 문서는 고유 URL과 canonical 메타데이터를 가집니다.