Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Probléme avec le module CMD

1 réponse
Avatar
David David
Bonjour,

Je d=E9bute en programmation objet et je souhaite utiliser le module
cmd.
Lors de l'ex=E9cution ma fonction do_remote auquel je passe pourtant 2
arguments, j'ai une lev=E9 d'exception.
J'ai bien l'impression que c'est une erreur toute b=EAte mais je tourne
en rond pour la r=E9soudre.

#------ code
import cmd

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

cli =3D 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 =3D 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)

1 réponse

Avatar
NicolasP
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