파일 존재 확인 후 읽기 : os.path.exists()

30 P
QUESTION 10 #390
파일이 존재하는지 먼저 확인한 후 안전하게 읽는 프로그램입니다. 빈칸을 채우세요.
main.py
import pandas as pd
import os

# 테스트용 CSV 생성
df_save = pd.DataFrame({'이름': ['민수'], '점수': [100]})
df_save.to_csv('/tmp/test_data.csv', index=False)

file_path = '/tmp/test_data.csv'

# 파일이 존재하는지 확인 후 읽기
if os.path.(file_path):
    df = pd.read_csv(file_path)
    print("파일 읽기 성공!")
    print(df)
else:
    print("파일이 존재하지 않습니다.")
실행 결과 예시
파일 읽기 성공!
   이름   점수
0  민수  100
INTERACTIVE SHELL Shift + Enter 로 즉시 실행

안전한 파일 읽기

파일이 없는 경로에서 read_csv()를 실행하면 오류가 발생합니다. os.path.exists()로 먼저 확인하면 안전합니다.

기본 문법

import os

if os.path.exists("파일경로"):
    # 파일이 있을 때 실행
else:
    # 파일이 없을 때 실행

확인 없이 읽으면?

# ❌ 파일이 없으면 오류 발생!
df = pd.read_csv("없는파일.csv")
# FileNotFoundError: [Errno 2] No such file or directory

# ✅ 먼저 확인 후 읽기
if os.path.exists("없는파일.csv"):
    df = pd.read_csv("없는파일.csv")
else:
    print("파일이 없습니다.")

os.path 모듈의 유용한 함수들

함수 설명 예시 결과
exists(path) 파일/폴더 존재 여부 True / False
isfile(path) 파일인지 확인 True / False
isdir(path) 폴더인지 확인 True / False
getsize(path) 파일 크기 (바이트) 1024
basename(path) 파일 이름만 추출 'data.csv'
splitext(path) 확장자 분리 ('data', '.csv')

try-except 방식도 가능

try:
    df = pd.read_csv("data.csv")
    print("파일 읽기 성공!")
except FileNotFoundError:
    print("파일이 존재하지 않습니다.")

확인 → 읽기 → 분석 패턴

import os
import pandas as pd

file_path = "sales_2026.csv"

if os.path.exists(file_path):
    df = pd.read_csv(file_path)
    print(f"데이터 크기: {df.shape}")
    print(f"열 목록: {list(df.columns)}")
    print(df.head())
else:
    print(f"{file_path} 파일을 찾을 수 없습니다.")

💡 핵심: 파일을 읽기 전에 os.path.exists()로 존재 여부를 확인하면 오류를 방지할 수 있습니다.