在python中清除STDOUT中的当前行

2024-10-01 13:25:11 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我用python编写了一个程序,要求用户重复输入。过了一段时间,前面的命令就开始建立了。在

> Ping
Pong!
> Hello
Hey there!
>say whats up?
Whats up?

我编写这些命令只是为了展示示例

我想添加一个动画,添加一个。。。在一个词的结尾,例如

^{pr2}$

那就清线吧

i choose..

那就清线吧

i choose...

等等,但是我需要清除屏幕,这样才能工作,我希望用户的命令和响应的历史记录在那里。有没有办法使用python或导入os只删除一行而不是整个屏幕?谢谢!在


Tags: 用户命令程序hello屏幕pingsaythere
2条回答

您正在查找回车符\r。打印该字符时,上一行将被清除。例如:

import time
print('I choose',end='',flush=True)
time.sleep(1)
print('\rI choose.',end='',flush=True)
time.sleep(1)
print('\rI choose..',end='',flush=True)
time.sleep(1)
print('\rI choose...',end='',flush=True)

这实际上是人们在命令行中制作进度条的方式。在

您应该可以使用普通的“print”执行此操作,只需在print语句的末尾添加一个逗号:

from time import sleep

print ‘I choose.’,  
sleep(0.5)
print ‘.’,  
sleep(0.5)
print ‘.’ 

编辑:在“睡眠”中添加,使动画更符合预期。在

相关问题 更多 >