python - 限制命令行参数的组合
问题描述
我写了一个python程序,它接受三个可选的命令行参数。但是我想限制用户输入的参数组合。它们是:
python script.py -all
python script.py --country_name
python script.py --country_name --city_name
我不应该执行任何其他组合程序。
注意:我正在使用 argparse python 模块
解决方案
我根本不会使用选项,而是可以省略的位置参数。
p = ArgumentParser()
p.add_argument('country', nargs='?')
p.add_argument('city', nargs='?')
然后
script.py # equiv to old script.py --all
script.py FI # equiv to old script.py --countryname FI
script.py FI Turku # equivalent to old script.py --countryname FI --cityname Turku
推荐阅读
- android - 如何在Android中制作透明(alpha)渐变蒙版以使一层淡入透明?
- javascript - 努力理解带 Javascript 的 AJAX
- javascript - 有什么方法可以回溯使用javascript中该函数的onclick属性调用函数的按钮
- python - 我如何在 pycryptodome 中使用这个 pycrypto 代码
- c# - 使用方法返回布尔值的异步任务
- json - JSON 文件的用例
- php - 错误的原因可能是什么?
- windows - beanstalk 会自动更新和修补它使用的 windows 图像吗?
- powershell - 跨域 Get-AdPrincipalGroupMembership 所需的最低权限?
- scala - Spark数据集中的groupByKey,沿着聚合执行自定义逻辑