1. command line显示进度,可以使用 tqdm 模块,它其实就是个迭代器。
2. 下载文件时显示进度:
import sys
import os
from six.moves import urllib
DATA_URL = 'http://www.python.org/ftp/python/2.7.5/Python-2.7.5.tar.bz2'
name = os.path.split(DATA_URL)[1]
def _callback(block_num, block_size, total_size):
sys.stdout.write("download %s %.1f%%" %(name, float(block_num* block_size)/float(total_size)*100))
sys.stdout.flush()
filepath, _ = urllib.request.urlretrieve(DATA_URL, name, _callback)
urlretrieve中 DATA_URL 是网络资源
name 是 copy 到本地副本
_callback 是每传输完回调_callback