1. 程式人生 > 其它 >顯示下載進度 urllib.request.urlretrieve

顯示下載進度 urllib.request.urlretrieve

技術標籤:pythonpythonsmall

import os
from six.moves import urllib
import sys

DATA_URL = 'http://www.python.org/ftp/python/2.7.5/Python-2.7.5.tar.bz2'
filename = DATA_URL.split('/')[-1]

def _progress(block_num, block_size, total_size):
    '''回撥函式
       @block_num: 已經下載的資料塊
       @block_size: 資料塊的大小
       @total_size: 遠端檔案的大小
    '''
    sys.stdout.write('\r>> Downloading %s %.1f%%' % (filename,
                     float(block_num * block_size) / float(total_size) * 100.0))
    sys.stdout.flush()

filepath, _ = urllib.request.urlretrieve(DATA_URL, filename, _progress)
print()