标签:get name lan mamicode 直接 命令 模块 efault empty
昨天大佬阿炳给发了一份代码给我,看着感觉很好玩,这是自己写了个命令行吗,完了我就找篇更详细一点的博客学习了一下
方法:
属性:
在阿炳写的代码的基础上根据上面那篇参考博客增加了一点代码,让自己更清除的理解
注意以do_和help_开头的函数的作用(do_ * 开头为命令,执行的名令,以help_ * 开头的为帮助,对应命令的帮助说明)
from cmd import Cmd class BingCmd(Cmd): """just try try""" prompt = "BingCmd>" intro = "Welcome to BingCMD" # 在cmd.Cmd派生类中,以do_ * 开头为命令,以help_ * 开头的为帮助 def print_log(self, argv): print("la la la ") def do_bing(self, argv): self.print_log(argv) def help_bing(self): print("just print la la la") def do_hu(self, argv): print("调用hu功能") def help_hu(self): print("输出hu") def do_exit(self, argv): # 处理方法返回True,则直接退出循环。 print("exit()") return True def help_exit(self): print("用来退出") def preloop(self): print("cmdloop()运行之前调用该方法") def postloop(self): print("cmdloop()退出之后调用该方法") if __name__ == "__main__": BingCmd().cmdloop()
运行使用截图:
标签:get name lan mamicode 直接 命令 模块 efault empty
原文地址:https://www.cnblogs.com/dong973711/p/11989819.html