2009-05-15 6 views
3

J'utilise SOAPpy pour accéder à un service Web SOAP. Cet appel à la fonction findPathwaysByText fonctionne très bien:SOAPpy - mot réservé dans la liste des paramètres nommés

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

Cependant, cet appel à la connexion de la fonction ne:

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

Parce que passe est un mot réservé, python ne fonctionnera pas cela. Y at-il un travail autour?

Répondre

5

Vous pouvez essayer:

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

Ceci passe dans le dictionnaire donné comme si elles étaient des arguments de mots-clés (le **)

1

Vous pouvez dire

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

La syntaxe double asterix applique ici les arguments clés. Voici un exemple simple qui montre ce qui se passe:

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

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