인자를 넘겨받아 Python 스크립트 파일(.py 파일)을 실행하는 2가지 방법을 소개 합니다.
(커맨드라인에서 인자 입력 받아 python 스크립트 실행, 명령어로 인자 입력 받아 python 스크립트 실행)
Python이 아닌 다른 언어 정보를 찾으시는 분들은 {해당언어명} + "명령행 인자" 로 검색하시면 알맞은 정보 찾으실 수 있을 겁니다.
sys.argv 사용 예제 스크립트 (파일명 : sys_argv.py)
입력받은 숫자만큼 현재 시간을 출력함
import sys
from datetime import datetime
cur_ts = datetime.now()
cur_ts = cur_ts.strftime('%Y-%m-%d %H:%M:%S')
# 리스트 sys.argv가 담고 있는 데이터 출력해보기
for arg in sys.argv:
print(arg, end=" ")
print("")
iter_num = int(sys.argv[1])
# 실제 날자 출력 부분
for _ in range(iter_num):
print(cur_ts)
스크립트 실행하기
# 명령어에 인자(3)을 넘겨서 실행
python sys_argv.py 3
결과 (리스트인 sys.argv 가 담고있는 정보도 모두 출력해봤습니다)
argparse 사용 예제 스크립트 (파일명 : arg_parse.py)
입력받은 숫자만큼 현재 시간을 출력함
import argparse
import os
from datetime import datetime
parser = argparse.ArgumentParser(description='설명입니다.')
parser.add_argument('--number', '-n', required=True, help='날짜를 반복출력할 횟수를 입력해주세요 예) 3')
args = parser.parse_args()
cur_ts = datetime.now()
cur_ts = cur_ts.strftime('%Y-%m-%d %H:%M:%S')
# parser.add_argument에서 --number로 argument를 추가해줬기 때문에 args.number로 사용
iter_num = int(args.number)
for _ in range(iter_num):
print(cur_ts)
스크립트 실행하기
# 입력받을 수 있는 인자 확인 --help (-h와 동일)
python arg_parse.py -h
# 스크립트 실행
python arg_parse.py -n 3
결과
아래는 argv 예제 스크립트입니다.
필요하신분은 다운 받아 사용하시고, 궁금하신 사항은 편하게 댓글 남겨주세요.
감사합니다.
# 참고자료
1. https://docs.python.org/ko/3/library/argparse.html
2. https://pythonprogramming.net/argparse-cli-intermediate-python-tutorial/
3. https://www.pythonforbeginners.com/system/python-sys-argv
[Airflow] ModuleNotFoundError: No module named 'sqlalchemy.ext.declarative.clsregistry' (0) | 2021.04.20 |
---|---|
[Python] Python으로 파일생성 시간 및 용량 출력하기 (0) | 2021.04.19 |
[Python] Instance, Class, Static Method(메소드) 정리 자료 (0) | 2021.04.05 |
[Python] DataFrame np.inf, -np.inf 처리하기 (0) | 2021.03.31 |
[Python 함수 인자 입력 받기] Python *args와 **kargs (0) | 2021.03.26 |