我使用cmd
模块构建一个小命令行应用程序,我试图在每个cmd循环结束时调用一个函数。
我发现这样做的唯一方法是覆盖cmdloop
并在其中添加我的函数调用。
难道没有更简单/更清洁的方法吗?
答案 0 :(得分:1)
Cmd.postcmd(停止,排行)
在命令调度完成后执行Hook方法。这个方法是Cmd中的存根;它存在被子类覆盖。 line是执行的命令行,stop是一个标志,指示在调用postcmd()之后是否终止执行;这将是onecmd()方法的返回值。此方法的返回值将用作对应于stop的内部标志的新值;返回false将导致解释继续。
在执行每个cmd后,将在您的对象上调用该方法(从cmd.Cmd
继承)。只要从此方法返回False
,执行就会继续。