gpt4 book ai didi

python - 如何删除或清除python中的打印文本

转载 作者:太空宇宙 更新时间:2023-11-03 14:37:04 25 4
gpt4 key购买 nike

我正在 Jupyterlab 中学习 Python。目前,我试图找到一种方法来清除 Jupyterlab 中的打印文本,但没有成功。

我在网上搜索了一些解决方案。但是,即使其他人报告了位置结果,他们也不会清除我控制台中打印的文本。

我试过(1). '\b' 字符(2)os.system('cls')(3)sys.stdout.write

他们都未能清除打印的文本。

print('Hello',end='')
print(5*'\b')
print('how are you?',end='')

输出: hell 你好吗?

print('Hello',end='')
for i in range(len('Hello')):
print('\b',end='')

print('how are you?',end='')

输出:你好吗?

print('Hey')
import os
if os.name=='nt':
os.system('cls')
else:
os.system('clear')
print('how are you?')

输出:嘿你好吗?

import sys, time

def delete_last_line():
sys.stdout.write('\x1b[1A')
sys.stdout.write('\x1b[2K')

print("hello")
time.sleep(2)
delete_last_line()
print("how are you")

输出:你好你好吗

我想知道是不是因为系统或模块已经更新,所以方法不再以相同的方式工作,或者我的电脑或 Jupyterlab 有错误导致失败。

最佳答案

注意长度,\r 光标返回到行首,但不会被覆盖,它只会被输入的文本从头开始覆盖。

print('Hello', end='\r')
# >>> Hello
print('How are you?', end='\r')
# >>> How are you?
print('TEST', end='\r')
# >>> TESTare you?

也许我会建议一个辅助功能:

def echo(string, padding=80):
padding = " " * (padding - len(string)) if padding else ""
print(string + padding, end='\r')

echo("Hello")
# >>> Hello
echo("How are you?")
# >>> How are you?
echo("TEST")
# >>> TEST

关于python - 如何删除或清除python中的打印文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57211609/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com