正确帮助争论

kri*_*rig 2 python optparse

当脚本使用是这样的时候,Python optparse非常有用

%prog [options] [args]
Run Code Online (Sandbox Code Playgroud)

但我需要为脚本编写1个必需参数的帮助,所以用法就是这样的

%prog action [options] [args]
Run Code Online (Sandbox Code Playgroud)

使用Subversion时可以看到类似的东西 - 它的用法字符串是

svn <subcommand> [options] [args]
Run Code Online (Sandbox Code Playgroud)

所以我的问题是:是否有可能以Subversion的方式为optparse准备所需的参数帮助?结果我希望看到这样的帮助:

Usage: python myscript.py action [options] [args]

Available actions:
  foo
  bar

Options:
  --version             show program's version number and exit
  -h, --help            show this help message and exit
  -v, --verbose         Verbose mode. Output debug log to stdout.
Run Code Online (Sandbox Code Playgroud)

Pet*_*sen 7

我认为一个很好的解决方案是argparse,它被提议包含在Python 2.7和3.2中.它处理子命令,我相信你想要的,链接页面包含一个链接到一个从optparse移植代码的页面.

另请参阅命令行-argument-in-python,其中某人编辑了一个引用列表,其中包含的内容与您想要的内容完全相同: