使用连字符传递关键字参数

14

我有一个关键字参数函数:

def f1(**kw):
    for key,val in kw.iteritems():
        print "key=%s val=%s" % (key,val)

f1(Attr1 = "Val1", Attr2 = "Val2")  # works fine.

f1(Attr1-SubAttr = "Val1", Attr2 = "Val2")  # complains about keyword being an expression.

f1("Attr1-SubAttr" = "Val1", Attr2 = "Val2")  # doesn't work either.

如何传递带连字符的关键字?由于我正在解析现有的遗留数据库,因此我无法控制这些关键字。


你不能在关键字中使用连字符。 - wim
这是一个好主意版本:https://dev59.com/HHLYa4cB1Zd3GeqPd_95 - Ciro Santilli OurBigBook.com
2个回答

34

只是留个注:我在 Python Zeep 上使用了这个方法,用于传递一个带有破折号名称的 SOAP <choice>。 - epx

0
为了使上述代码在Python 3中正常工作,应将iteritems()替换为items()

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接