使用progressbar来显示进度

    最近在做一些ftp的相关东西,以前用java开发的时候,是专门启了一个线程,定期汇报上传状态,在ftp上传库中定期更新进度。最近做python开发,利用\r或者是\b实现了在一行中显示文件的进度,但是还是觉得不好,看到http://www.iteye.com/topic/521825这篇文章后,觉得这个上传进度真是很炫。于是就打算拿过来用用,这个库的官方地址是http://pypi.python.org/pypi/progressbar。

    因为初学python还不知道怎么在代码中引用另一个文件中的类,这里只是一个尝试,当做我的一个笔记。

    将progressbar.py(库中的主要文件)和mybarTest.py(我自己的测试文件)放在一个目录下面后mybarTest中就可以引用progressbar中的类了。代码

#!/usr/bin/env python
from progressbar import Percentage,Bar,FileTransferSpeed,ETA,ProgressBar

class CrazyFileTransferSpeed(FileTransferSpeed):
    "It's bigger between 45 and 80 percent"
    def update(self, pbar):
        if 45 < pbar.percentage() < 80:
            return 'Bigger Now ' + FileTransferSpeed.update(self,pbar)
        else:
            return FileTransferSpeed.update(self,pbar)

widgets = [CrazyFileTransferSpeed(),' <<<', Bar(), '>>> ', Percentage(),' ', ETA()]
pbar = ProgressBar(widgets=widgets, maxval=10000000)
# maybe do something
pbar.start()
for i in range(2000000):
    # do something
    pbar.update(5*i+1)
pbar.finish()
print
 

你可能感兴趣的:(python相关)