Probléme avec le module CMD

Le
David David
Bonjour,

Je débute en programmation objet et je souhaite utiliser le module
cmd.
Lors de l'exécution ma fonction do_remote auquel je passe pourtant 2
arguments, j'ai une levé d'exception.
J'ai bien l'impression que c'est une erreur toute bête mais je tourne
en rond pour la résoudre.

# code
import cmd

class CLI(cmd.Cmd):
def do_remote(self, user, node):
print "connexion ssh user %s sur noeud %s" % user, node

cli = CLI()
cli.cmdloop()
#-- fin code

execution du script

$ python shelladmin.py
(Cmd) remote root node8

Traceback (most recent call last):
File "shelladmin.py", line 19, in <module>
cli.cmdloop()
File "/usr/lib/python2.5/cmd.py", line 142, in cmdloop
stop = self.onecmd(line)

File "/usr/lib/python2.5/cmd.py", line 219, in onecmd
return func(arg)
TypeError: do_remote() takes exactly 3 arguments (2 given)
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
NicolasP
Le #19914301
Bonjour,

TypeError: do_remote() takes exactly 3 arguments (2 given)


C'est pourtant clair : La méthode do-remote demande 3 argument lors de son appel. Or une tentative d'appel avec seulement 2 argument a été faite. C'est mal.
Change ton code comme ceci :

import cmd

class CLI(cmd.Cmd):
def do_remote(self, param):
print param
#print "connexion ssh user %s sur noeud %s" % user, node

cli = CLI()
cli.cmdloop()

Y a plus qu'à...

Nicolas
Publicité
Poster une réponse
Anonyme