一行代码后如何清除控制台?

时间:2018-08-31 15:08:51

标签: python syntax

我想在每个打印/输入语句之后清除控制台以清理屏幕。我不想只添加100个空行,而是实际上清除了控制台,因此在下一个打印语句之前它是空白的。

import random

import time

input("Hello (click enter to continue after each line)")
# I want to clear the console here so it is blank before it prints again
print ("What is your name?")
# At this point, the line above is the only thing on the screen
lower_username = str(input("Enter Username: "))
upper_username = lower_username.capitalize()
input("Hello " + upper_username)

感谢您的帮助!

3 个答案:

答案 0 :(得分:0)

那不是在python的手中。 Python只能在某处打印。它不知道在哪里打印。如果您在类似Linux的终端中,则print("\033c")可以工作。

答案 1 :(得分:0)

清除解释器取决于平台,但是您可以了解底层操作系统:

import os
import platform


def clear():
    if platform.system() == 'Linux':
        os.system('clear')
    elif platform.system() == 'Windows':
        os.system('cls')

input("Hello (click enter to continue after each line)")
clear()
print("What is your name?")
# At this point, the line above is the only thing on the screen
lower_username = str(input("Enter Username: "))
upper_username = lower_username.capitalize()
input("Hello " + upper_username)

答案基于这两个12

答案 2 :(得分:0)

这并不是完全“清除控制台”,但是执行类似操作的一种方法是使用\ r字符。这称为回车,将光标移动到行的开头。

print('Line one\r', end='', flush=True)
print('Line two\r', end='', flush=True)

以上内容将打印在同一行上。请注意,如果第一个字符串比另一个字符串长,那么它的结尾仍将显示。您可以通过在较短的字符串中添加空格来直观地解决此问题。例如:

print('Line long\r', end='', flush=True)
print('Line two\r', end='', flush=True)

将输出Line twog,因为第一个字符串长一个字符。直观的解决方法是:

print('Line long\r', end='', flush=True)
print('Line two \r', end='', flush=True)

请注意在“两个”之后的多余空格。

添加结束=''停止打印功能,在字符串的末尾添加换行符\ n字符,使您可以打印到同一行。