pri*_*stc 9 python command-line sys argv
我正在编写一个带有任意命令行参数的应用程序,然后将它们传递给python函数:
$ myscript.py --arg1=1 --arg2=foobar --arg1=4
Run Code Online (Sandbox Code Playgroud)
然后在myscript.py里面:
import sys
argsdict = some_function(sys.argv)
Run Code Online (Sandbox Code Playgroud)
这里argsdict看起来是这样的:
{'arg1': ['1', '4'], 'arg2': 'foobar'}
Run Code Online (Sandbox Code Playgroud)
我确定某个地方有一个图书馆可以做到这一点,但我找不到任何东西.
编辑: argparse/getopt/optparse不是我想要的.这些库用于定义每次调用相同的接口.我需要能够处理任意参数.
除非,argparse/optparse/getopt具有执行此操作的功能......
像这样的东西吗?
import sys
argsdict = {}
for farg in sys.argv:
if farg.startswith('--'):
(arg,val) = farg.split("=")
arg = arg[2:]
if arg in argsdict:
argsdict[arg].append(val)
else:
argsdict[arg] = [val]
Run Code Online (Sandbox Code Playgroud)
与指定的略有不同,该值始终是一个列表。
| 归档时间: |
|
| 查看次数: |
14400 次 |
| 最近记录: |