清空Python控制台

2021-09-24 03:51:28 字數 1914 閱讀 8136

執行python命令會進入python控制台。在python控制台中可以用互動的方式執行python語句。也就是執行一行python語句,會立刻返回執行結果。

當python控制台輸入過多的python語句時,有時需要將這些已經輸入的語句和執行結果清空,並重新開始輸入python語句。例如,下圖就是乙個輸入了多條python語句,並輸出相應結果的python控制台。

當然,如果不想看到這些python語句和輸出結果,可以一直按「回車」 鍵,直到python控制台中所有的內容都移到視窗上面為止。不過這樣以來,游標還是在python控制台的最下面,而且上面都是python控制台的命令提示符,非常難看,如下圖所示。

如果讀者用的是mac os x系統,在python控制台中直接按ctrl+l鍵就可以直接清空python控制台。而在windows中,是沒有快捷鍵用來清空python控制台的,所以需要我們編寫python**來實現清空python控制台的功能。因此,本節的目的到現在已經很清楚了,本節主要並不是教大家如何清空python控制台,而是借用清空python控制台這一操作,利用前面兩節介紹的匯入模組和宣告變數的知識,編寫一段python程式,用來清空python for windows控制台。

在windows下,如果要清空windows控制台,執行cls命令即可。由於python控制台是利用windows控制台實現的,所以cls命令也同樣可以清空python控制台。不過在python控制台不能直接執行cls命令。在python控制台要想執行外部命令,需要呼叫os模組中的system函式。讀者可以一行一行在python控制台輸入下面的**。

執行這兩行**,是把以前在python控制台中輸入的內容都清空了,但在python控制台的第1行會輸出乙個「0」,如下圖所示。

其實這個「0」是os.system函式的返回值。python控制台會輸出每一條執行語句的返回值。os.system函式如果成功執行命令,返回「0」,如果執行命令失敗,返回「1」。不過為了最求完美,現在就把這個「0」去掉。

之所以會輸出這個「0」,是因為python語言的標準輸出預設指向的是python控制台,所以所有的python語句執行的結果都輸出到了python控制台。現在只要改變python語言的標準輸出,讓其指向乙個檔案,那麼os.system函式的執行結果就會直接寫到這個檔案中,而不是python控制台了。

下面的例子會編寫乙個python程式,用於清空python控制台。

清空python控制台不輸出「0」的步驟如下:

(1)匯入os模組和sys模組。

(2)使用open函式以可寫的方式開啟乙個檔案,本例是out.log。

(3)為了不影響在python控制台輸出其他語句的執行結果,應先將python預設的標準輸出儲存到乙個變數中,以便以後恢復預設的python標準輸出。使用sys.stdout可以獲取python標準輸出的控制代碼(handler)。

(4)將python標準輸出指向第2步開啟的檔案。

(5)使用os.system函式執行cls命令。

(6)恢復python預設的標準輸出。

完整的實現**如下。讀者可以在python控制台一行行輸入這些**,當執行到os.system(『cls』)語句時,python控制台被清空,不會再顯示「0」。

認識控制台 控制台控制代碼 附著到控制台 關閉控制台

1.附著到乙個控制台 乙個程序可以使用 attachconsole 函式來附著到乙個控制台上,乙個程序只能附著乙個控制台。乙個控制台可以有許多程序附著到它上面,呼叫 getconsoleprocesslist 函式可以得到附著到乙個控制台的列表。2.關閉乙個控制台 程序可以使用 freeconsol...

認識控制台 控制台控制代碼 附著到控制台 關閉控制台

附著到乙個控制台 乙個程序可以使用 attachconsole 函式來附著到乙個控制台上,乙個程序只能附著乙個控制台。乙個控制台可以有許多程序附著到它上面,呼叫 getconsoleprocesslist 函式可以得到附著到乙個控制台的列表。關閉乙個控制台 程序可以使用 freeconsole 函式...

python讀取控制台輸入

筆試常用 input array n input for i in range 0 int n row line input temp str line.split for str in temp str int str print input array 輸入 31 2 3 4 5 6 7 8 9...