原地刷新显示的代码只能在特定的IDE中运行
代码原理:打印后,再打印退格符'\\b'删除掉,再循环,出现原地刷新的效果,在Thonny里运行正常,见动图,但是在其他的IDE里就不正常里,idle里'\\b'以不可显示的字符方框打印出来了,pycharm根本就没显示,直接用python运行只显示最后一次的print结果。有在不使用gui的情况下通用的实现原地刷新显示的办法吗?import time
be=time.time()
for i in range(1000):
a='%.2f' % (time.time()-be)
print(a,end='')
print('\b'*len(a),end='')
time.sleep(0.01)
没有,但是命令行可以使用\b。 顺便提一句,print('\b'*len(a),end='')可以直接print('\r',end='') 永恒的蓝色梦想 发表于 2020-3-25 19:00
顺便提一句,print('\b'*len(a),end='')可以直接print('\r',end='')
改成'\r'的的确可用,虽然idle还是不正常,但是直接运行可以正常显示了,看看还有没有更好的选择。
import time
be=time.time()
for i in range(1000):
a='%.2f' % (time.time()-be)
print(a,'\r',end='')
time.sleep(0.01) txxcat 发表于 2020-3-25 19:24
改成'\r'的的确可用,虽然idle还是不正常,但是直接运行可以正常显示了,看看还有没有更好的选择。
IDLE估计根本不支持\b,要用\b也就命令行了 idle多丑啊 您好,有些特殊字符只适用于控制台,像\r和\b等。。。而且需要使用标准输出。
希望对你有所帮助! wp231957 发表于 2020-3-25 19:32
idle多丑啊
所以应该用什么?
页:
[1]