전체적인 툴의 흐름과 소개를 담고 있어 먼저 만들게 되는데 Python에서는 argparse라는 라이브러리를 이용해서 쉽게 인자값을 처리할 수 있습니다.
오늘은 argparse를 통해서 스크립트 내 argv를 처리하는 것을 해볼까 합니다.
argparse
먼저 argparse를 import 합니다.
import argparse
이후부터 argparse의 기능을 사용할 수 있으며 argparse를 변수에 할당하여 사용합니다.
import argparse
parser = argparse.ArgumentParser()
pip install argparse
argparse Option 설정
할당받은 argparse에 add_argument를 통해 옵션 리스트를 추가할 수 있습니다.
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("--type", help="type options values..zz")
args = parser.parse_args()
add_argmuent를 통해 받은 옵션 명을 명시해주고, help에 설명 부분을 넣어줄 수 있습니다.argparse Option 동작 구간 설정
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("--type", help="type options values..zz")
args = parser.parse_args()
if args.type:
print("type")
if 문을 통해서 입력받은 값에 대해 처리할 수 있습니다.
아래 부분에 보면 args.type 값을 보고 값이 있으면 처리하고, 없으면 어떻게 처리할 것인지 지정이 가능합니다.
pydoc에서 정의된 ArgumentParse Object들은 아래와 같습니다.
- prog - The name of the program (default:
sys.argv[0]
) - usage - The string describing the program usage (default: generated from arguments added to parser)
- description - Text to display before the argument help (default: none)
- epilog - Text to display after the argument help (default: none)
- parents - A list of
ArgumentParser
objects whose arguments should also be included - formatter_class - A class for customizing the help output
- prefix_chars - The set of characters that prefix optional arguments (default: ‘-‘)
- fromfile_prefix_chars - The set of characters that prefix files from
which additional arguments should be read (default:
None
) - argument_default - The global default value for arguments
(default:
None
) - conflict_handler - The strategy for resolving conflicting optionals (usually unnecessary)
- add_help - Add a -h/–help option to the parser (default:
True
) - allow_abbrev - Allows long options to be abbreviated if the
abbreviation is unambiguous. (default:
True
)
Reference
https://docs.python.org/3/howto/argparse.htmlhttps://docs.python.org/3/library/argparse.html
HAHWULSecurity engineer, Gopher and H4cker! |
svfvdfvdfv
ReplyDelete