argparse可编写命令行接口,解析用户输入参数。比较常用与os.environ结合
基本流程为:创建一个解析器—添加参数—解析参数
创建一个解析器
parser = argparse.ArgumentParser(description='描述')
添加参数
add_argument()参数选项:
- name or flags - 一个命名或者一个选项字符串的列表,例如 foo 或 -f, —foo。
- action - 当参数在命令行中出现时使用的动作基本类型,可选store_const、store_true、store_false、append(存储一个列表)、append_const、count。
- nargs - 传入的参数个数,”+”表示至少一个参数
- const - action 和 nargs 所需要的常量值。
- default - 参数默认值
- type - 命令行参数应当被转换成的类型,可选list、str、tuple、set、dict。
- choices - 可用的参数的容器。
- required - 设置参数是否必填,True为必填
- help - 一个此选项作用的简单描述。
parser.add_argument()
“””命令行选项””” parser = argparse.ArgumentParser(description=’测试命令行选项描述’) parser.add_argument(‘—env’, type=str, default=’test’, help=’执行环境’, required=True) data = parser.parse_args() print(data.env)
“””
python test.py usage: 8_28_test_1.py [-h] —env ENV 8_28_test_1.py: error: the following arguments are required: —env
“””
当传入参数重复使用,action可选append
```python
# test-1.py
"""命令行选项"""
parser = argparse.ArgumentParser(description='测试命令行选项描述')
parser.add_argument('--append', action='append')
append_data = parser.parse_args()
print(append_data.append)
"""
>>>python test-1.py --append 1 --append 3
['1', '3']
"""