【发布时间】:2015-07-10 05:20:34
【问题描述】:
python 中有通用的命令行生成器吗?我的意思是类似于 argparse 但具有相反功能的东西。 argparse 允许您定义各种参数,然后将给定的命令行字符串解析为这些参数的值。我需要一些可以让你定义各种参数的东西,比如 argparse,但是给定一个参数字典,值对将生成一个命令行字符串。
例子:
gencmdline = CmdlineGenerator()
gencmdline.add_argument('-f', '--foo')
gencmdline.add_argument('bar')
gencmdline.add_argument('phi')
gencmdline.gen_cmdline(phi='hello', bar=1, foo=2) returns:
"1 hello -f 2"
gencmdline.gen_cmdline(phi='hello', bar=1) returns:
"1 hello"
gencmdline.gen_cmdline(phi='hello', foo=2) raise exception because positional argument bar is not specified.
【问题讨论】:
-
你问的比 argparse 的功能简单多了;您应该能够自己实现它而没有太多困难。到目前为止,您尝试过什么?
-
例子会有帮助。
-
你有解决方案,不是吗?创建您的字典并将所有键/值对连接到一个字符串中。有什么问题?
-
是的,它比 argparse 简单得多,而且我自己制作可能并不难。只是想检查一下周围是否有我可以使用的东西。