Python의 명령 줄 인수
-
sys
모듈을 사용하여 Python에서 명령 줄 인수 처리 -
getopt
모듈을 사용하여 Python에서 명령 줄 인수 처리 -
argparse
모듈을 사용하여 Python에서 명령 줄 인수 처리
명령 줄 인수는 파일을 실행하는 동안 명령 줄 창에 제공되는 값입니다. 프로그램을 실행하는 동안 값을 전달할 수 있기 때문에 수용하고 있습니다.
Python에서는 아래에서 설명하는 명령 줄 인수를 처리하는 데 다른 모듈을 사용할 수 있습니다.
sys
모듈을 사용하여 Python에서 명령 줄 인수 처리
sys.argv()
는 명령 행에 제공된 인수를 목록 유형 구조로 저장하는 데 사용됩니다. 파일 이름이 첫 번째 인수로 간주됩니다.
예를 들면
import sys
print("Arguments without the script name ", (len(sys.argv) - 1))
print("Arguments given ")
for i in range(1, len(sys.argv)):
print(sys.argv[i])
위의 예에서는 런타임에 일부 인수를 전달하고 총 인수 수와 해당 값을 표시합니다.
getopt
모듈을 사용하여 Python에서 명령 줄 인수 처리
getopt
모듈은 명령 줄 인수도 처리합니다. 주어진 값을 검증 할 수 있습니다. 스크립트가 인식 할 수있는 옵션 문자열과 함께 인수와 함께 값을 제공 할 수 있습니다. 이 모듈은 더 나은 처리를 위해 sys 모듈과 함께 작동합니다.
getopt()
생성자는 인수를 구문 분석하는 객체를 초기화하는 데 사용됩니다. 옵션이 인수 목록에서 인식되지 않으면getopt.error
를 리턴합니다.
아래 코드에서 사용합니다.
import getopt
import sys
lst = sys.argv[1:]
options = "abc:"
long_options = ["A_Message", "B_Message", "C_Message"]
try:
arguments, values = getopt.getopt(lst, options, long_options)
for currentArgument, currentValue in arguments:
if currentArgument in ("-a", "--A_Message"):
print("Message A received")
elif currentArgument in ("-b", "--B_Message"):
print("Message B received")
elif currentArgument in ("-c", "--C_Message"):
print("Message C received")
except getopt.error as err:
print("Error")
argparse
모듈을 사용하여 Python에서 명령 줄 인수 처리
argparse 모듈은 명령 줄 인수로 작업하기에 가장 편리한 모듈입니다. 이 모듈은 위치 인수, 선택적 인수를 처리하고 유형을 지정할 수 있기 때문에 많은 유연성을 제공합니다.
일부 인수가 누락 된 경우 일부 기본값을 입력하고 도움말 메시지를 표시 할 수도 있습니다.
ArgumentParser()
함수는 파서 객체를 생성합니다. parse.args()
함수는 명령 줄에서 인수를 읽습니다.
예를 들면
import argparse
parser = argparse.ArgumentParser(description="Which Message?")
parser.add_argument("a")
parser.add_argument("b")
args = parser.parse_args()
print(args.a, args.b)
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedIn