编程新手,目前正在使用网络刮板。我正在尝试监视自己的进度,并在使用IPython.display的clear_output()时保持终端清洁,但似乎并未清除VSCode中的输出。这是一个示例:
200x200
我希望它可以清除x的先前值来代替新值,但事实并非如此。程序完成后,我的输出将更改为:
from time import sleep
from IPython.display import clear_output
x = 0
while x < 5:
x += 1
sleep(.2)
print(x)
clear_output(wait=True)
猜测是IPython提供的,但是我不确定它的含义或解决方法。感谢您的帮助!
答案 0 :(得分:0)
我不确定这是否是您要的内容,但是您可以尝试使用sys库:
from time import sleep
from sys import stdout
for i in range(0, 1000):
stdout.write("\b") # \b for backspace, you may need \r depends on system
sleep(.9)
stdout.write("\b\b\b>>>" + str(i))
stdout.flush()
对我来说输出是:
>>>1
然后将1替换为2
>>>2
2替换为3等。
我睡着了,这样您可以看到会发生什么,如评论中所述,您可能需要将\ b更改为\ r或两者的某种组合
答案 1 :(得分:0)
clear_output() 仅适用于Jupyter。考虑使用 print('\ n' 100) 清除其他IDE中的输出。