SOAPpy - 命名参数列表中的保留字

3 投票
2 回答
1041 浏览
提问于 2025-04-15 11:37

我正在使用SOAPpy来访问一个SOAP网络服务。调用findPathwaysByText这个函数时,一切正常:

server.findPathwaysByText (query= 'WP619', species = 'Mus musculus')

但是,调用login这个函数时就不行了:

server.login (user='amarillion', pass='*****')

因为“pass”是一个保留字,所以Python不允许这样运行。有没有什么解决办法?

2 个回答

1

你可以这样说:

server.login(user='amarillion', **{'pass': '*****'})

这里的双星号语法是用来处理关键字参数的。下面是一个简单的例子,展示了发生了什么:

def f(a, b):
    return a + b

kwargs = {"a": 5, "b": 6}
return f(**kwargs)        # same as saying f(a=5, b=6)
5

你可以试试:

d = {'user':'amarillion', 'pass':'*****' }
server.login(**d)

这段代码把给定的字典当作关键字参数传入(用的是 ** 符号)。

撰写回答