Python/기본문법
sys (인터프리터 제어 모듈)
by yororing
2024. 6. 13.
00 개요
- 회사에서 숙제내준 코드분석 sys 모듈이 나오길래 정리하고자 한다. 할 수 있쒀
01 sys 모듈이란
1. sys 모듈 정의
- 'System'의 약자
- 시스템-관련 파라미터와 함수들을 제공하는 모듈로서 인터프리터에 의해 사용/유지되는 일부 변수들 및 인터프리터와 강하게 상호작용하는 함수들에 대한 접근 제공
- 즉, 파이썬 인터프리터를 제어할 수 있는 방법을 제공하며 시스템과 관련된 정보들을 제공하는 모듈
02 sys 사용
import sys
1. 함수
1) sys.argv
sys.argv
>>> print(type(sys.argv))
<type 'list'>
- 명령행 인자를 읽어올 때 사용
- 명령줄에서 python 스크립트 실행 시 전달된 인수의 list
- Python을 실행하면서 입력된 파라미터를 전달받아 활용할 수 있는 기능
- argv를 출력하면 입력된 인자들을 list 형태로 저장하고 있음
- NOTE: 항상 첫 번째 인자는 실행하는 파일. 즉, 내가 원한는 입력 인자는 그 다음인 [1]부터 시작
- 예시:
# example.py 파일 내용
import sys
# 명령행 인자 출력
print("명령행 인자:")
for arg in sys.argv:
print(arg)
- 터미널에 명령어 뒤에 인자를 추가하여 실행하면, 프로그램에서는 sys.argv 변수를 사용하여 명령행 인자를 가져올 수 있음
$ python example.py 인자1 인자2 인자3
명령행 인자:
example.py
인자1
인자2
인자3
# 이 경우, 'sys.argv'는 다음과 같은 값을 지님
sys.argv = ['example.py', '인자1', '인자2', '인자3']
- 각 요소의 의미:
- sys.argv[0]는 스크립트의 이름인 'example.py'
- sys.argv[1]는 첫 번째 인수인 '인자1'
- sys.argv[2]는 두 번째 인수인 '인자2'
- sys.argv[3]는 세 번째 인수인 '인자3'
2) sys.exit
sys.exit()
- 인터프리터를 종료할 때 사용
- 프로그램이 정상적으로 종료되었는지, 아니면 오류가 발생하여 강제종료되었는지 확인 가능
- 인자로 종료 코드 전달 가능
- 종료코드 = 0: 정상적으로 종료되었음
- 종료코드 != 0: 오류 발생 상태로 종료되었음
- 예시:
import sys
# 사용자 입력 받기
value = input("정수를 입력하세요: ")
# 입력받은 값이 정수 아닐 경우 프로그램 종료
if not value.isdigit():
print("입력값이 정수가 아닙니다.")
sys.exit()
# 입력받은 값을 정수로 변환하여 출력 (변환 전에는 <class 'str'>임)
value = int(value)
print(f"입력한 값: {value}")