转自:http://blog.sina.com.cn/s/blog_ac9fdc0b0101nd3d.html
Cmd类型提供了一个创建命令行解析器的框架。简单的来说,可以继承Cmd来创建命令行界面,然后对所有想处理的命令command执行do_command方法。这个方法会接受命令行的其余部分作为自己的唯一参数。比如,如果在命令行中输入:
say hellodo_say方法会连同作为唯一参数的字符串"hello"一起调用。
*******************************************************************************************************
先介绍Cmd一些常用的方法:
(1)cmdloop():类似与Tkinter的mainloop,运行Cmd解析器;
(2)onecmd(str):读取输入,并进行处理,通常不需要重载该函数,而是使用更加具体的do_command来执行特定的命名;
![Python:Cmd模块 Python:Cmd模块](https://i-blog.csdnimg.cn/blog_migrate/c67ec4dd21f9d093746fc20539e25128.jpeg)
结果如下:
![Python:Cmd模块 Python:Cmd模块](https://i-blog.csdnimg.cn/blog_migrate/dcc1ec992dee9cfecc374017ddff5e88.jpeg)
(3)emptyline():当输入空行时调用该方法;
(4)default(line):当无法识别输入的command时调用该方法;
(5)completedefault(text,line,begidx,endidx):如果不存在针对的complete_*()方法,那么会调用该函数
(6)precmd(line):命令line解析之前被调用该方法;
(7)postcmd(stop,line):命令line解析之后被调用该方法;
(8)preloop():cmdloop()运行之前调用该方法;
(9)postloop():cmdloop()退出之后调用该方法;
*******************************************************************************************************
![Python:Cmd模块 Python:Cmd模块](https://i-blog.csdnimg.cn/blog_migrate/4e806178a0d081f276c2826b83a2f714.jpeg)
结果也很简单:
![Python:Cmd模块 Python:Cmd模块](https://i-blog.csdnimg.cn/blog_migrate/05f8a3e47b6ed4a167c397f63432529d.jpeg)
****************************************************************************************************