본문 바로가기
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}")

'Python > 기본문법' 카테고리의 다른 글

_ underscore (파이썬)  (0) 2024.06.28
os (운영체제 작업 모듈)  (1) 2024.06.18
re (정규표현식 작업 모듈)  (0) 2024.06.13
파이썬 Type Hint (타입 정보 명시적 표시)  (0) 2024.05.08
Generator (제너레이터)  (0) 2024.05.03