SOAPpy - зарезервированное слово в списке именованных параметров

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

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

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

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

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


person amarillion    schedule 15.05.2009    source источник


Ответы (2)


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

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

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

person brian-brazil    schedule 15.05.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)
person Eli Courtwright    schedule 15.05.2009