gpt4 book ai didi

python - 接受来自 docopt 的任意选项

转载 作者:行者123 更新时间:2023-11-30 22:35:41 24 4
gpt4 key购买 nike

查看 docopt 文档和示例,我似乎找不到此功能,但我觉得它应该存在,所以我想我会要求确认一下。

我正在使用 Python 的 docopt 并希望能够允许任意选项。该用例是一个命令行模板实用程序 - 因此任意键值都会很方便。

"""Templator

Usage:
templator <template> [--arbitrary-option=<value>]...
"""

希望这个例子能够说明我所追求的。也许像 --*=<value>将是另一种编写方式。

编辑:

这是我当前的解决方案,它采用键值对。然而,它们是用空格分隔的,因此可能很难弄清楚长语句的键和值是什么。

templator <template> (<key> <value>)...

然后在 python 脚本中(对于对此解决方案感兴趣的任何人)

arguments = docopt(__doc_)
arbitrary_kwargs = dict(zip(arguments['<key>'], arguments['<value>']))

key=value语法将是理想的 - 如果可能的话。

最佳答案

也许你可以使用

"""Templator

Usage:
templator <template> [-c <name>=<value>]...
"""

这是什么docopt/examples/git/git.py确实如此。

这是一个测试示例:

bash-3.2$ cat test.py
""" Usage:
Templator [-c <name>=<value>]...
"""
import sys, docopt
args = docopt.docopt(__doc__, version='0.0.1-alpha')
print str(args)

bash-3.2$ python test.py
{'-c': 0,
'<name>=<value>': []}

bash-3.2$ python test.py -c foo=1
{'-c': 1,
'<name>=<value>': ['foo=1']}

bash-3.2$ python test.py -c foo=1 -c baz=2
{'-c': 2,
'<name>=<value>': ['foo=1', 'baz=2']}

关于python - 接受来自 docopt 的任意选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44457671/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com