Python 中可修改的控制台输出

Python 中可修改的控制台输出

有些程序能够修改控制台输出,wget 很容易浮现在我们脑海中。

在此处输入图片描述

我该如何在纯 Python 中做到这一点?我知道 IPython 有清除输出()。我试过了,但还是不行。我更喜欢纯 Python。

from IPython.core.display import clear_output
from time import sleep

for i in range(100):
    clear_output()
    print '[', '='*i, ' '*(100-i), ']'
    sleep(0.1)

導播

答案1

虽然合适的库是最好的解决方案,但我想展示一个简单的替代方法:使用\r(回车)而不是\n(换行)作为行尾,这样光标就放在当前行的开头,而不是下一行。

#! /usr/bin/python3

from time import sleep

for i in range(100):
    print('[' + '='*i + ' '*(100-i) + ']', end='\r')
    sleep(0.1)

答案2

Helio 提示的解决方案非常有效!我pip install progressbar首先需要这样做,但后来官方示例之一就成功了。

from progressbar import *    
pbar = ProgressBar(widgets=[Percentage(), Bar()], maxval=300).start()
for i in range(300):
    time.sleep(0.01)
    pbar.update(i+1)
pbar.finish()

官方网站(附示例):https://code.google.com/p/python-progressbar/

答案3

实际上有很多软件包可以让你编写命令行界面。我知道点击有进度条, 例如。

哦,关于你的要求“纯 Python”,我的朋友,这是不符合 Python 风格的。Python 希望你使用第三方包。

導播

相关内容