我在做服务器自动更新代码需要下载远程文件,但是没有进度条的等待会让人觉得不耐烦,所以封装了一个下载进度的代码。
import sys,time,urllib2
def progressbar(cur,total):
percent = '{:.2%}'.format(cur / total)
sys.stdout.write('\r')
sys.stdout.write('[%-50s] %s' % ( '=' * int(cur * 50 /total),percent))
sys.stdout.flush()
if cur == total:
sys.stdout.write('\n')
def down_file(url,saveto):
progressbar(0,100)
u = urllib2.urlopen(url)
f = open(saveto,'wb')
meta = u.info()
file_size = int(meta.getheaders("Content-Length")[0])
file_size_dl = 0
block_sz = 1024*2
while True:
buffer = u.read(block_sz)
if not buffer:
break
file_size_dl += len(buffer)
f.write(buffer)
progressbar(file_size_dl*100.0/file_size,100)
f.close()
down_file("https://www.xdelve.com/widgetpack3.min.js","down.js")
相关文档
暂无
随便看看
畅言模块加载中