[Docpie]

Fork me on GitHub

基本API


from docpie import docpie
docpie(doc, argv=None, help=True, version=None,
       stdopt=True, attachopt=True, attachvalue=True,
       auto2dashes=True, name=None, case_sensitive=False,
       optionsfirst=False, appearedonly=False, extra={})

docpie基本参数接受一个必选参数,3个可选参数。

doc

类型:str;必选

docdocpie 拿去解析的字符串。它通常为你脚本的 __doc__ 字符串,当然任何格式正确的字符串都是可以的。一个快速示例:

"""
Usage: my_program.py [-hso FILE] [--quiet | --verbose] [INPUT ...]

Options:
 -h --help    show this
 -s --sorted  sorted output
 -o FILE      specify output file [default: ./test.txt]
 --quiet      print less text
 --verbose    print more text
"""

from docpie import docpie
print(docpie(__doc__))

在线试试 >>

argv

类型:序列;默认:None

argv 即为你程序接受到的命令行参数。为None时将使用sys.argv

注意:

不要将字符串直接传给argv,否则docpie会直接按空白符分割。如果你需要传入字符串,请使用shlex模块:

>>> import shlex
>>> cmd = input()
prog --config="/path/to/my config.json"
>>> shlex.split(cmd)
['prog', '--config=/path/to/my config.json']

help

类型:bool;默认:True

help指明 docpie 自动处理 -h--help参数。

默认处理方式是,对于-h打印“Usage”和“Options”章节,而 --help 则打印整个传入的 doc 值,打印完毕退出程序。如果你想自己处理,设置为 False 即可。

需要自定义的话可以参见"高级API"-"自动处理"章节。

version

类型:任何可打印非None对象;默认:None

version用来指出你程序的版本。当该值不为 None 时, docpie 将自动处理 -v / --version 参数。默认为打印该值后退出程序。

参见"高级API"章节修改默认处理方法。


如果你喜欢这个项目,可以买我一杯啤酒,让我做的更好! | Flattr this

侧栏导航