在 Python 中清除控制檯

Rayven Esplanada 2023年1月30日
  1. 在 Python 中使用 os 模組清除直譯器控制檯
  2. 在 Python 中列印多行新行來清除直譯器控制檯
在 Python 中清除控制檯

本教程將演示如何使用 Python 程式碼清除直譯器控制檯。

在 Python 中使用 os 模組清除直譯器控制檯

os 模組提供了使用控制作業系統的工具清除控制檯的解決方案,幷包含可以編寫控制檯命令的函式。

os 模組有一個函式 system(),它可以接受一個字串引數,並將該字串處理成一個控制檯命令進入本地機器的直譯器。

既然目的是清除控制檯,那麼作為引數傳遞的字串應該是 clsclear,這取決於機器執行在什麼作業系統上(Windows 和 DOS 為 cls,Linux、OSX 和 POSIX 機器為 clear)。

import os


def clearConsole():
    command = "clear"
    if os.name in ("nt", "dos"):  # If Machine is running on Windows, use cls
        command = "cls"
    os.system(command)


clearConsole()

讓這個函式更簡潔的方法是使用三元運算子,並宣告一個 lambda 函式

import os


def clearConsole():
    return os.system("cls" if os.name in ("nt", "dos") else "clear")


clearConsole()

這兩種解決方案都會清除執行 Python 程式碼的控制檯例項。

在 Python 中列印多行新行來清除直譯器控制檯

這是一種比較粗暴的清除控制檯的方法,但同樣有效。宣告一個將列印出個換行符(\n)的函式,這是一種模擬清除控制檯的方法。

再次使用 lambda 函式來縮短程式碼,並將新行符號\n 乘以你希望控制檯螢幕上升的行數。在這個例子中,我們將它乘以 150

def clearConsole():
    return print("\n" * 150)


clearConsole()

輸出將如下所示:













localhost:~ user$ 

這個方案並不是最理想的,但它確實清除了控制檯的內容。

總之,使用 os 模組的 system() 方法,可以通過傳遞 clear 命令作為引數,在 Python 程式碼中清除控制檯,這取決於機器執行在什麼作業系統上。另一種解決方案是在 Python 內部列印多個換行符來模擬控制檯的 clear 命令,這不是最好的解決方案,但可以完成工作。

Rayven Esplanada avatar Rayven Esplanada avatar

Skilled in Python, Java, Spring Boot, AngularJS, and Agile Methodologies. Strong engineering professional with a passion for development and always seeking opportunities for personal and career growth. A Technical Writer writing about comprehensive how-to articles, environment set-ups, and technical walkthroughs. Specializes in writing Python, Java, Spring, and SQL articles.

LinkedIn