在python的方法中使用一串表达式

时间:2014-08-06 16:38:41

标签: parsing python-2.7

例如,如果我有字符串:

"id=100 id2=200 id3=300 ..."

其中变量名称,值和表达式的数量可以是任何值。

如何在这样使用的方法中使用该字符串:

method(id=100,id2=200,id3=300,...)

我从命令行参数中获取字符串。

2 个答案:

答案 0 :(得分:1)

我们迭代地解析它们:

pairs = "id=100 id2=200 id3=300".split(' ')
res = {}
for p in pairs:
    k,v = p.rsplit('=', 1)
    res[k] = v

print res # prints {'id2': '200', 'id': '100', 'id3': '300'}
# now we can send the dictionary to the method

答案 1 :(得分:0)

您可以先将其转换为字典:

>>> s = "id=100 id2=200 id3=300"
>>> d = dict(a.split('=') for a in s.plit())
>>> print d
{'id2': '200', 'id': '100', 'id3': '300'}

现在在功能中使用它:

>>> method(**d)