2013-03-21 78 views

回答

11

你需要重寫postcmd方法:

Cmd.postcmd(站,線)的指令調度完成後立即執行

掛鉤方法。這個 方法是Cmd中的一個存根;它存在被子類覆蓋。 line是已執行的命令行,stop是一個標誌,其中 指示在調用 postcmd()後是否終止執行。這將是onecmd()方法的返回值。該方法的返回值將被用作 內部標誌的新值,該內部標誌對應於停止;返回false將導致 解釋繼續。

而且從cmdloop文檔:當POSTCMD()方法返回一個真 值

此方法將返回。 postcmd()的stop參數是 命令的相應do _ *()方法的返回值。

換句話說:

import cmd 
class Test(cmd.Cmd): 
    # your stuff (do_XXX methods should return nothing or False) 
    def do_exit(self,*args): 
     return True 
+0

我不知道如果我可以做'高清do_exit(個體經營,線):返回TRUE',使發出命令'exit'會打出來的'cmdloop' 。 – 2013-03-21 02:58:59

+1

是的,就是這樣。 – isedev 2013-03-21 09:46:41