파이썬에서 명령행으로 받은 인자(argument) 처리
파이썬 스크립트를 실행할 때 입력하는 내용은 sys.argv에 리스트 형태로 저장됩니다. 예를 들어 2개의 정수를 인자(argument)로 받아서 곱셈한 결과를 출력하는 파이썬 스크립트가 multi.py라면, 아래와 같이 실행할 수 있을 것입니다.
python3 multi.py 10 20
위와 같이 명령을 실행할 경우, sys.argv는 아래와 같이 구성됩니다.
['multi.py', '10', '20']
스크립트 이름은 sys.argv[0]에, 첫번째 인자는 sys.argv[1]에, 두번째 인자는 sys.argv[2]에 문자열(string) 형태로 저장된 것을 볼 수 있습니다.
multi.py 스크립트의 내용은 아래와 같이 구성할 수 있겠습니다.
import sys
if len(sys.argv) !=3:
print("오류: 2개의 인자가 필요합니다.")
exit()
try:
x_int = int(sys.argv[1])
y_int = int(sys.argv[2])
except:
print("오류: 인자는 정수여야 합니다.")
exit()
# 곱한 결과 출력
result = x_int * y_int
print(sys.argv[1], "*", sys.argv[2], "=", result)
@joviansummer의 스팀 프로젝트
스팀 증인노드를 운영중입니다. @jswit에 증인투표해 주시면 감사하겠습니다.
(https://steemitwallet.com/~witnesses)
https://docs.python.org/ko/3/library/argparse.html 를 이용하시면 좀 더 강력한 커맨드라인 옵션 파싱을 하실 수 있습니다.
옵션이 복잡할 때 유용하겠네요. 좋은 정보 감사합니다.
Upvoted! Thank you for supporting witness @jswit.

Please check my new project, STEEM.NFT. Thank you!