2016-04-03 89 views

回答

3

doc

的檔案結尾上輸入被傳遞迴爲字符串「EOF」。

這意味着Ctrl鍵 + d被分派給do_EOF()方法。這樣一來就給方式退出你的解釋,確保實現do_EOF(),並使其返回True

def do_EOF(self, line): 
    return True 
+0

對不起,我遲到意見。當我輸入「Ctrl + D」時,它只打印「^ D」。使用'Ctrl + C'退出應用程序,但不調用do_EOF。任何提示? – Overdrivr

+0

@Overdrivr:你是否覆蓋了任何'Cmd'的方法?如果是的話,你需要發佈相關的代碼;如果不是這樣,在將上面的'do_EOF'方法添加到'Cmd'子類後,'Ctrl + D'應該可以工作(我剛剛對它進行了測試並且工作正常)。 –

+0

好點,按Ctrl + D應該引發KeyboardInterrupt或SystemExit異常是否正確? – Overdrivr