반응형
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로 파일 존재 여부를 확인하는 예입니다.
필요에 따라 두 모듈을 함께 사용하는 경우도 많으며, 파이썬 시스템 프로그래밍에서 기본이 되는 모듈입니다.
'실버를 위한 코딩 > 오늘의 파이썬 팁' 카테고리의 다른 글
파이썬에서 '식(Expression)과 문(Statement)의 차이 (0) | 2025.04.15 |
---|---|
파이썬의 eval() 함수 제대로 알기 (0) | 2025.04.14 |
파이썬에서 시스템 명령어 실행하기 (0) | 2025.04.13 |
아나콘다 프롬프트(Anaconda Prompt)와 컴퓨터 기본 터미널 (1) | 2025.01.24 |
파이참에서 프로젝트 삭제 (1) | 2024.12.01 |