SOAPpy - зарезервированное слово в списке именованных параметров - PullRequest
3 голосов
/ 15 мая 2009

Я использую SOAPpy для доступа к SOAP Webservice. Этот вызов функции findPathwaysByText работает просто отлично:

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

Однако этот вызов функции входа в систему не выполняется:

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

Поскольку pass является зарезервированным словом, python не будет его запускать. Есть ли обходной путь?

Ответы [ 2 ]

5 голосов
/ 15 мая 2009

Вы можете попробовать:

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

Это передается в данном словаре, как если бы они были аргументами ключевого слова (**)

1 голос
/ 15 мая 2009

Можно сказать

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)
...