【发布时间】:2012-10-09 19:59:55
【问题描述】:
我正在编写一个应用程序,它接受任意命令行参数,然后将它们传递给 python 函数:
$ myscript.py --arg1=1 --arg2=foobar --arg1=4
然后在 myscript.py 中:
import sys
argsdict = some_function(sys.argv)
argsdict 看起来像这样:
{'arg1': ['1', '4'], 'arg2': 'foobar'}
我确定某处有一个图书馆可以做到这一点,但我找不到任何东西。
编辑: argparse/getopt/optparse 不是我想要的。这些库用于定义每个调用都相同的接口。我需要能够处理任意参数。
除非 argparse/optparse/getopt 具有执行此操作的功能...
【问题讨论】:
-
argparse 完全不同,它用于定义命令行界面。我正在尝试解析任意命令行界面。每次调用这个脚本都会有不同的参数。
-
我认为使用 argparse 仍然可以做到这一点。如果您不想使用它,那么 AFAIK 您别无选择,只能自己为参数编写解析器。
-
是的,我也不知道如何使用标准库解析任意参数...
-
5年后这个问题还没有解决吗?我需要写这个东西吗??
标签: python command-line argv sys