Yurttas/PL/SL/python/docs/core-python-programming/doc/152/lib/Cmd-objects.html
Jump to navigation
Jump to search
5.10.1 Cmd Objects
A Cmd instance has the following methods:
- cmdloop ([intro])
- Repeatedly issue a prompt, accept input, parse an initial prefix off the received input, and dispatch to action methods, passing them the remainder of the line as argument. The optional argument is a banner or intro string to be issued before the first prompt (this overrides the intro class member).If the readline module is loaded, input will automatically inherit bash-like history-list editing (e.g. Ctrl-P scrolls back to the last command, Ctrl-N forward to the next one, Ctrl-F moves the cursor to the right non-destructively, Ctrl-B moves the cursor to the left non-destructively, etc.).An end-of-file on input is passed back as the string
'EOF'.An interpreter instance will recognize a command name "foo" if and only if it has a method do_foo(). As a special case, a line containing only the character "?" is dispatched to the method do_help(). As another special case, a line containing only the character "!" is dispatched to the method do_shell (if such a method is defined).All subclasses of Cmd inherit a predefined do_help. This method, called with an argumentbar, invokes the corresponding method help_bar(). With no argument, do_help() lists all available help topics (that is, all commands with corresponding help_*() methods), and also lists any undocumented commands.
- onecmd (str)
- Interpret the argument as though it had been typed in in response to the prompt.
- emptyline ()
- Method called when an empty line is entered in response to the prompt. If this method is not overridden, it repeats the last nonempty command entered.
- default (line)
- Method called on an input line when the command prefix is not recognized. If this method is not overridden, it prints an error message and returns.
- precmd ()
- Hook method executed just before the input prompt is issued. This method is a stub in Cmd; it exists to be overridden by subclasses.
- postcmd ()
- Hook method executed just after a command dispatch is finished. This method is a stub in Cmd; it exists to be overridden by subclasses.
- preloop ()
- Hook method executed once when cmdloop() is called. This method is a stub in Cmd; it exists to be overridden by subclasses.
- postloop ()
- Hook method executed once when cmdloop() is about to return. This method is a stub in Cmd; it exists to be overridden by subclasses.
Instances of Cmd subclasses have some public instance variables:
- prompt
- The prompt issued to solicit input.
- identchars
- The string of characters accepted for the command prefix.
- lastcmd
- The last nonempty command prefix seen.
- intro
- A string to issue as an intro or banner. May be overridden by giving the cmdloop() method an argument.
- doc_header
- The header to issue if the help output has a section for documented commands.
- misc_header
- The header to issue if the help output has a section for miscellaneous help topics (that is, there are help_*() methods without corresponding do_*() methods).
- undoc_header
- The header to issue if the help output has a section for undocumented commands (that is, there are do_*() methods without corresponding help_*() methods).
- ruler
- The character used to draw separator lines under the help-message headers. If empty, no ruler line is drawn. It defaults to "=".
Send comments on this document to python-docs@python.org.