실버를 위한 코딩/오늘의 파이썬 팁

os 모듈과 sys 모듈

forSilver 2025. 4. 14. 12:33
반응형

os 모듈과 sys 모듈

os 모듈과 sys 모듈은 모두 파이썬의 표준 라이브러리에 포함된 매우 중요한 모듈입니다. 그러나 두 모듈은 다루는 대상과 역할이 뚜렷하게 다릅니다. 아래에서 두 모듈의 주요 차이점을 정리합니다.


✅ os 모듈 (Operating System)

목적:

운영체제(OS)와 상호작용하기 위한 기능을 제공합니다.

주요 기능:

  • 파일/디렉토리 조작
  • 환경 변수 접근
  • 경로 관련 기능
  • 시스템 명령 실행

주요 함수 예시:

import os

os.getcwd()          # 현재 작업 디렉토리 반환
os.listdir()         # 디렉토리 내 파일 목록
os.mkdir('new_dir')  # 새 디렉토리 생성
os.remove('a.txt')   # 파일 삭제
os.environ['HOME']   # 환경 변수 접근
os.system('ls')      # 셸 명령 실행

용도:

  • 운영체제 파일 시스템과 직접 상호작용할 때
  • 파일 및 폴더 생성, 이동, 삭제
  • 환경 변수 읽기/쓰기
  • 시스템 호출 등

✅ sys 모듈 (System)

목적:

파이썬 인터프리터와 상호작용하기 위한 기능을 제공합니다.

주요 기능:

  • 명령줄 인자 처리
  • 표준 입출력 제어
  • 인터프리터 제어

주요 속성 및 함수 예시:

import sys

sys.argv         # 명령줄 인자 리스트
sys.exit()       # 프로그램 종료
sys.path         # 모듈 탐색 경로 목록
sys.version      # 파이썬 버전 정보
sys.stdin, stdout, stderr  # 표준 입출력 스트림

용도:

  • 파이썬 실행 환경 제어
  • 실행 인자 처리
  • 에러 메시지 출력
  • 모듈 경로 동적 추가

📌 핵심 차이 요약

구분 os 모듈 sys 모듈

주요 대상 운영체제(OS)와의 상호작용 파이썬 인터프리터와의 상호작용
대표 기능 파일/디렉토리 관리, 시스템 명령 실행 인자, 모듈 경로, 종료 처리
주요 사용처 파일 시스템 작업, 환경 변수 조작 CLI 인자 처리, 버전 확인, 종료 처리

 


💡 함께 사용하는 경우 예시

import os
import sys

if len(sys.argv) < 2:
    print("파일명을 입력해주세요.")
    sys.exit()

filename = sys.argv[1]

if os.path.exists(filename):
    print(f"{filename} 파일이 존재합니다.")
else:
    print(f"{filename} 파일이 존재하지 않습니다.")

위 예시는 sys로 명령줄 인자를 받아오고, os로 파일 존재 여부를 확인하는 예입니다.


필요에 따라 두 모듈을 함께 사용하는 경우도 많으며, 파이썬 시스템 프로그래밍에서 기본이 되는 모듈입니다.