Cmd Module
Fredrik Lundh
fredrik at pythonware.com
Wed Nov 23 03:21:59 EST 2005
Godwin Burby wrote:
> I was just curious about using the cmd module for building my
> own command line interface. i saw a problem. The script is as follows:
it helps if you include the code you were running, instead of some
approximation of it.
File "test", line 10
if passwd = 'godwin': print "You are a valid user"
^
SyntaxError: invalid syntax
Traceback (most recent call last):
File "<stdin>", line 4, in ?
NameError: name 'cmd' is not defined
> The interpreter reports that the first argument to super should be a
> type rather than a class object and for the do_login function it says
> that function needs only one argument but two are given. I solved the
> above errors by adding the following code:
>
> Cmd.__init__(self)
>
> def do_login(self,passwd='godwin')
>
> But i know that my first code should work without any problems or is
> there a problem with it.
super() only works for new-style classes.
the second argument problem is because do_ methods are called with
a second argument:
>>> import cmd
>>> help(cmd)
Help on module cmd:
...
3. A command `foo' is dispatched to a method 'do_foo()'; the do_ method
is passed a single argument consisting of the remainder of the line.
...
(if you type "login", you get an empty string. if you type "login foo", you get
the string "foo". etc).
</F>
More information about the Python-list
mailing list