Python中的cmd模块类型提供了一个创建命令行解析器的框架。简单的来说,可以继承Cmd来创建命令行界面,然后对所有想处理的命令command执行do_command方法。默认情况下,它使用readline来进行交互式操作、命令行编辑和命令完成。
使用cmd创建的命令行解释器循环读取输入的所有行并且解析它们,然后发送命令给一个合适的命令处理器。输入行为解析成两个部分:命令和参数。如果用户输入cmd param,它解释成命令cmd和参数param,然后使用param作为参数调用do_cmd方法。如果do_cmd命令处理器返回真,那么程序会干净的退出,否则会继续等待下一个命令的输入。
关于Cmd的使用,通常都是创建自己的类型,继承于CMd,然后使用Cmd的方法来实现自己的功能,一个超简单的例子:
from cmd import Cmd
import sys
class CmdTest(Cmd):
def __init__(self): #初始基础类方法
Cmd.__init__(self)
def help_hello(self):
print("输入hello 参数,将执行o_hello方法,输出参数值")
def do_hello(self,line):
print("do_hello:",line)
def help_exit(self): #以help_*开头的为帮助
print("输入exit退出程序")
def do_exit(self,line): #以do_*开头为命令
print("Exit:",line)
sys.exit()
if __name__ =="__main