> For the complete documentation index, see [llms.txt](https://nining.website/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://nining.website/python/func/builtin-module/argparse.md).

# argparse

argparse 是 Python 内置的一个用于命令项选项与参数解析的模块，通过在程序中定义好我们需要的参数，argparse将会从 sys.argv 中解析出这些参数，并自动生成帮助和使用信息。类似第三方强大库[click](http://funhacks.net/2016/12/20/click/)

```python
# bar.py
import argparse

# 创建对象 parser
parser = argparse.ArgumentParser()

# 必填项 定位参数 传给 integer int型
parser.add_argument('integer', type=int, help='display an integer')
# 可选项 传给 name
parser.add_argument('--name', type=str, help='display a name')

# 解析参数挂到对象 args
args = parser.parse_args()

print('integer: %s, and type: %s' % (args.integer, type(args.integer)))
if args.name:
    print('name: %s, and type: %s' % (args.name, type(args.name)))
```

```bash
python bar.py 100 --name 'linda'

>>> integer: 100, and type: <class 'int'>
>>> name: 'linda', and type: <class 'str'>
```
