【问题标题】:How to overwrite console output? [duplicate]如何覆盖控制台输出? [复制]
【发布时间】:2020-10-18 09:21:07
【问题描述】:

我有这个代码:

print("Please wait, your question is loading...")
sleep(4)

我想再添加一个带有文字的print(),它将替换上面sleep(4)之后的print()

如何做到这一点?我正在使用最新版本的 Python 3.9.0

【问题讨论】:

  • 使用sys.stdout.write 可以让您更好地控制写入控制台的内容。例如,不发送 NL,然后只发送 CR 以将光标返回到同一行的开头。
  • @Keith。仅适用于某些控制台
  • @Tomerikoo 将其添加为答案。它应该是被接受的(尽管问题应该被关闭,因为它是重复的)
  • @AbhinavMathur 如果已经回答,我为什么要将它添加为答案?这个问题是重复的,不应该回答。它应该被删除或标记为重复,因为它已经在其他地方得到了回答
  • 同意。但是由于它没有被标记为重复,并且有一个错误的答案被标记为已接受,我建议你也输入正确的答案

标签: python python-3.x


【解决方案1】:

一旦您打印了某些内容,然后将其删除,除了清除屏幕之外,您别无选择。在 Windows 中使用:

import os
os.system('cls')

并在 linux 中调用 clear 命令。然后打印其他东西。

【讨论】:

  • 它会清除所有内容还是只清除我想要的文本?
  • 它会清除一切.....到目前为止还没有办法
  • @Kladeon 有...使用'\r'。查看您的问题下的链接
【解决方案2】:

你可以这样做:

from os import system
from time import sleep

print("whatever you want")
sleep(2)
 
system("cls") # if you are on linux then replace cls with clear
print("whatever you want")

system.clear 允许您清除控制台上的所有内容。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-04-02
    • 1970-01-01
    • 2018-11-22
    • 2023-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-03
    相关资源
    最近更新 更多