Python Sys 모듈
sys 모듈은 명령줄 인자, import 경로, 현재 인터프리터 버전 같은 Python 런타임 세부 정보에 접근할 수 있게 해줍니다.
import sys
자신의 애플리케이션 객체뿐 아니라 Python 인터프리터 자체와 대화해야 할 때 sys를 사용합니다.
명령줄 인자
sys.argv는 현재 스크립트에 전달된 인자 목록입니다.
import sys
sys.argv = ['main.py', '--debug', 'app']
print(sys.argv[0])
print(sys.argv[1:])
main.py
['--debug', 'app']
실제 명령줄 애플리케이션에서는 argparse를 권장합니다. 같은 개념 위에 검증과 도움말을 제공합니다.
Python 버전
import sys
print(sys.version_info.major)
print(sys.version_info.minor)
3
14
import 검색 경로
sys.path는 Python이 모듈을 찾는 위치를 제어합니다.
import sys
print(type(sys.path).__name__)
print(len(sys.path) > 0)
list
True
sys.path의 앞부분에는 보통 현재 프로젝트가 포함되므로, 로컬 모듈을 import할 수 있습니다.
표준 입력과 출력
sys.stdin, sys.stdout, sys.stderr는 인터프리터가 사용하는 파일 같은 객체입니다.
import sys
print(sys.stdout.writable())
print(sys.stderr.writable())
True
True
프로그램 종료하기
import sys
try:
sys.exit(0)
except SystemExit as exc:
print(exc.code)
0