#!/usr/bin/env python
-- coding: utf-8 --
import urllib
from progressbar import *
urlfile=’http://xx.com/a.rar‘
localfile=’download.rar’
def cbk(a, b, c):
    ‘’’’’回调函数
    @a: 已经下载的数据块
    @b: 数据块的大小
    @c: 远程文件的大小
    ‘’’
    w=[‘Progress: ‘, Percentage(), ‘ ‘, Bar(marker=RotatingMarker(‘>-=’)),’ ‘,
       ETA(), ‘ ‘, FileTransferSpeed()]
    pbar=ProgressBar(widgets=w, maxval=100).start()
per = 100.0 * a * b / c  
if per < 100:  
    pbar.update(int(per))
else:
    pbar.update(int(per))
    pbar.finish() 
if name == ‘main‘:
    urllib.urlretrieve(urlfile,localfile,cbk)
    print ‘Download Ok,Saved to %s.’%localfile
 
运行结果如下:
netcat@netcat:~/python$ python url_down.py
Progress: 100% |>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>| Time: 0:00:00 812.85 kB/s
Download Ok,Saved to download.rar.