Python store“,help=”如果使用,则指定目标,否则使用默认值。(-dest是可选的,-env不是)”,metavar=“”) #主从式部署 deploy\u p=main\u s\u p.add\u解析器('deploy',help='deploy software',parent=[ds\u shared,env\u shared]) #主副自动标签 autotag\u p=main\u s\u p.add\u解析器('autotag',help=“Autotags指定存储库”,父项=[ds\u共享]) 打印(“--------------参数----------”) 打印(变量(主参数解析参数())

Python store“,help=”如果使用,则指定目标,否则使用默认值。(-dest是可选的,-env不是)”,metavar=“”) #主从式部署 deploy\u p=main\u s\u p.add\u解析器('deploy',help='deploy software',parent=[ds\u shared,env\u shared]) #主副自动标签 autotag\u p=main\u s\u p.add\u解析器('autotag',help=“Autotags指定存储库”,父项=[ds\u共享]) 打印(“--------------参数----------”) 打印(变量(主参数解析参数()),python,command,argparse,subcommand,subparsers,Python,Command,Argparse,Subcommand,Subparsers,这创造了很多我想要的功能。我们更喜欢回答那些实际有argparse代码的问题,不管它们是否有效。它应该关注问题,而不是所有细节。值得一提的是,subparser可以定义自己的subparser参数。你说得有道理。我有太多的试用期,希望能找到一些通用答案需要解决。我刚刚发布了我最近的尝试。lock只是一个参数组,一个帮助显示工具。它不会更改解析。它不是一个子parser。请尝试dbq\u解析器,改为添加子parser。使用添加子parser(dest='cmd1',…)将记录使用哪个子分析器命令。

这创造了很多我想要的功能。

我们更喜欢回答那些实际有
argparse
代码的问题,不管它们是否有效。它应该关注问题,而不是所有细节。值得一提的是,subparser可以定义自己的subparser参数。你说得有道理。我有太多的试用期,希望能找到一些通用答案需要解决。我刚刚发布了我最近的尝试。
lock
只是一个参数组,一个帮助显示工具。它不会更改解析。它不是一个
子parser
。请尝试
dbq\u解析器,改为添加子parser
。使用
添加子parser(dest='cmd1',…)将记录使用哪个子分析器命令。如果选择“代码>必需”=Trase< /Cord>,并希望得到正确的错误消息,也会有所帮助。如果您想为所有命令提供一个参数,如<代码> -eNV < /代码>,请考虑在主程序中定义它。ble子Parser。您可以使用实用程序功能(或
父级
)简化它。
myprogram:
-h              help
--DEBUG         debugging on

Commands are: dashboard / promote / deploy / auto-tag / dbquery
Some commands have sub-commands.

Dashboard prosesing:
  dashboard <ALL | DEBUG | AAA [sub1-aaa |  ...] >

Promoting:
  promote <environment> [to environment] <system> [version]

Deployment
  deploy <system> [version] <in environment>

Auto-tagging
  auto-tag <repo> <project> [--days-back]

Database queries  (--tab is optional)
         (system or env or both are required)
  dbquery lock set    <system | environment>   [--tab]
  dbquery lock clear  <system | environment>   [--tab]
  dbquery lock show   <system | environment | before-date | after-date>   [--tab]

  dbquery promote list <system| version| environment | before-date | after-date>  [--tab]
  dbquery deploy list <system| version| environment | before-date | after-date>   [--tab]
dbquery lock set    <system | environment>
dbquery lock set    <system=system | env=environment>
# python3 main.py -h
usage: main.py [-h] [--debug] {dbqueue,dbq} ...

Main cli tool for processing in the CD pipeline (cdv3, Jun 2019, F.IJskes)

optional arguments:
  -h, --help     show this help message and exit
  --debug        Generate debug output and keep temp directories

subcommands:
  {dbqueue,dbq}  additional help

#python3 main.py dbq -h
usage: main.py dbqueue [-h] set clear show name system etc

optional arguments:
  -h, --help       show this help message and exit

lock:
  lock desc

  set              Sets lock
  clear            Clears lock
  show             Show lock status