^Z有點亂。 ascii控件char^D通常被解釋爲EOT,傳輸結束,在Unix和許多其他系統上意味着文件結束,關閉應用程序。 Ascii^Z旨在被解釋爲SUB,替代,無論如何。編輯使用它作爲UNDO(意味着撤消^ X切)。微軟(和其他一些老系統)至少有時會將^ Z解釋爲文件結尾,與* nix上的^ D具有相同的效果。
Windows控制檯在^ Z後關閉文本應用程序。^D傳遞給應用程序。作爲跨平臺的應用程序,IDLE在^ D關閉。 IDLE用於在Windows上關閉^ Z,但現在對我來說,它只會刪除提示。 (我不知道這個替代方案是否有用。)我沒有看到您報告的漸進式刪除。你運行什麼操作系統和Python版本?
要回答你的主要問題:你不能。 input
通常用於賦值語句:string = input('prompt')
。模仿輸入語句的方法是直接分配'用戶輸入':s = 'simulated user input'
。但是,對於被管理輸入窗口的程序攔截並且從未發送給python程序的字符,這不起作用。
IDLE的Shell通常模仿Python的交互式控制檯。後者(至少在Windows上)使除當前輸入以外的所有內容都成爲只讀。殼牌遵循套件。在執行用戶代碼方面,模仿特別嚴格。它的目的是在IDLE中測試的用戶代碼應該在沒有IDLE的情況下以Python運行。 IDLE在Python無法響應用戶代碼時清除交互式shell是錯誤的。
對於編輯器和輸出窗口,^ A(全部選中),然後是退格鍵(刪除),刪除或^ X(剪切)清除窗口。
然而,Shell的編輯命令比許多(大多數?)控制檯和菜單系統多。這些補充是允許的,因爲它們只是交互式的,不能從用戶代碼訪問。已經有各種建議和補丁來清除部分或全部的shell窗口。 https://bugs.python.org/issue6143有一些討論和建議。