有没有办法在python中清除您的打印文本?

问题描述 投票:6回答:4

我已经想了很长时间才能找到如何在python中清除像print(“example”)这样的东西,但我似乎无法找到或想出任何东西。

print("Hey")
>Hey

现在我需要清除它,然后写一些新文本。

print("How is your day?")

它会打印出来。

>How is your day?

但我想清除“嘿”,所以用户不应该同时看两个,它看起来有点混乱。

python clear
4个回答
10
投票
import os
os.system('cls')

或者unix上的os.system('clear')(mac和linux)。如果您不想向上滚动,那么您可以这样做:

qazxsw poi应该摆脱回滚。适用于所有系统的东西:

os.system("printf '\033c'")

1
投票

我想这就是你想要做的:

将光标向上移动一行并删除该行

这可以像使用下面的代码一样完成

import os
os.system('cls' if os.name == 'nt' else "printf '\033c'")

0
投票

好;我有一个临时的方式: -

import sys
import time

def delete_last_line():
    "Use this function to delete the last line in the STDOUT"

    #cursor up one line
    sys.stdout.write('\x1b[1A')

    #delete last line
    sys.stdout.write('\x1b[2K')


########## FOR DEMO ################
if __name__ == "__main__":
    print("hello")
    print("this line will be delete after 2 seconds")
    time.sleep(2)
    delete_last_line()
####################################

-1
投票
print('Hey', end = '')

for i in range(4):
    print('\b', end = '')
print('How is your day?')

这段代码完美无缺......

© www.soinside.com 2019 - 2024. All rights reserved.