[python] argparse, python-fire
argparse (docs)
원래 파이썬에서 프로그램 실행 시 인자( e.g., ``c main(int argc, char *argv[])`` )를 받기 위해서는 sys모듈의
``python sys.argv``를 이용해야 한다.
```python
args = sys.argv[1:]
```
`` argv`` 객체를 출력해 보면 이렇다.
```python
Namespace(h2md=False, m=True, url='asdf')
```
``python action='store_const'``를 지정해 숫자 값을 갖도록 할 수 있다.
```py
def parseArgs():
parser = argparse.ArgumentParser(description="SIEM Mimikatz detect python application.")
parser.add_argument("arg", metavar="<type>:<*.dll>:<*.dll>:<...>", type=str, nargs='+', help="e.g., Rule:ntdll.dll:cryptsp.dll")
return parser.parse_args()
if __name__ == "__main__":
dll_list = parseArgs()
print(dll_list)
>>> Namespace(arg=['Rule:cryptsp.dll'])
>>> python .\query.py -h
>>> positional arguments:
>>> <type>:<*.dll>:<*.dll>:<...> e.g., Rule:ntdll.dll:cryptsp.dll
```
positional argument를 명시해도되고 안해도 되도록 만들고 싶은 경우
python-fire
'Languages & Frameworks > Python' 카테고리의 다른 글
[python] numpy, pandas, sklearn (0) | 2017.03.11 |
---|---|
[python] url parsing / BeautifulSoup4, bs4 (0) | 2017.03.02 |
[python] 파일 배포, python with C (0) | 2017.02.26 |
[Regex] Python (0) | 2017.02.23 |
[python] import 관련 : 모듈, 패키지, __init__.py, __all__ (0) | 2017.02.23 |