Self-Improvement
python의 argparser 모듈 기본적인 사용법 본문
argparse
argparse는 sys.argy를 어떻게 파싱할지 파악합니다. 또한 argparse 모듈은 도움말과 사용법 메시지를 자동 생성하고, 사용자가 프로그램에 잘못된 인자를 줄 때 에러를 발생시켜준다.
간단한 예제 코드
1 2 3 4 5 6 | import argparse parser = argparse.ArgumentParser() parser.add_argument('--testoption', help='testestestest', action='store_true') args = parser.parse_args() | cs |
결과물
1 2 3 4 5 6 | root@kali:~/python# python testmongodb.py -h usage: testmongodb.py [-h] [--testoption] optional arguments: -h, --help show this help message and exit --testoption testestestest | cs |
코드 3줄을 통해 손 쉽게 도움말을 생성하였다.
아래의 코드를 통해서 결과물의 'optional arguments'에 해당 코드가 추가된걸 확인할 수 있다.
parser.add_argument('--testoption', help='testestest', action='store_true')
아래의 parser을 할시에 추가 포맷을 설정해주면 더욱 좋은 결과물이 나오게 된다.
코드 변경
1 2 3 | parser = argparse.ArgumentParser( formatter_class=argparse.ArgumentDefaultsHelpFormatter #added to show default value ) | cs |
결과물
1 2 3 4 5 6 | root@kali:~/python# python testmongodb.py -h usage: testmongodb.py [-h] [--testoption] optional arguments: -h, --help show this help message and exit --testoption testestestest (default: False) | cs |
인자 값 받은 뒤 실행절차
코드
1 2 3 4 5 6 7 8 9 10 11 | import argparse parser = argparse.ArgumentParser( formatter_class=argparse.ArgumentDefaultsHelpFormatter ) parser.add_argument('--testoption', help='testestestest', action='store_true') args = parser.parse_args() test=args.testoption if test: print("success") | cs |
결과물
1 2 | root@kali:~/python# python testmongodb.py --t success | cs |
새로운 도움말을 만들어보자
코드
1 2 3 4 5 6 7 8 9 | import argparse parser = argparse.ArgumentParser( formatter_class=argparse.ArgumentDefaultsHelpFormatter ) new1=parser.add_argument_group("NEW Option") parser.add_argument('--testoption', help='testestestest', action='store_true') new1.add_argument('--newoption', help='new', action='store_true') args = parser.parse_args() | cs |
결과물
1 2 3 4 5 6 7 8 9 | root@kali:~/python# python testmongodb.py -h usage: testmongodb.py [-h] [--testoption] [--newoption] optional arguments: -h, --help show this help message and exit --testoption testestestest (default: False) NEW Option: --newoption new (default: False) | cs |
'프로그래밍 > Python' 카테고리의 다른 글
python requests get 파라미터, post 데이터 값의 순서가 변경될시에 튜플로 (0) | 2019.01.10 |
---|---|
shodan API로 최근 이슈된 취약점 검색 Python 코드 (0) | 2019.01.10 |
Python의 requests Base64 Dictionary 코드 (0) | 2019.01.09 |
Python의 requests 모듈을 통한 DVWA-Low Brute Force 자동화 코드 (0) | 2018.10.25 |
Head First Python 5-2장 (0) | 2018.10.22 |