python下载文件时显示下载进度的方法

yipeiwu_com7年前Python基础

本文实例讲述了python下载文件时显示下载进度的方法。分享给大家供大家参考。具体分析如下:

将这段代码放入你的脚本中,类似:urllib.urlretrieve(getFile, saveFile, reporthook=report)

第三个参数如下面的函数定义report,urlretrieve下载文件时会实时回调report函数,显示下载进度

def report(count, blockSize, totalSize):
  percent = int(count*blockSize*100/totalSize)
  sys.stdout.write("\r%d%%" % percent + ' complete')
  sys.stdout.flush()
sys.stdout.write('\rFetching ' + name + '...\n')
urllib.urlretrieve(getFile, saveFile, reporthook=report)
sys.stdout.write("\rDownload complete, saved as %s" % (fileName) + '\n\n')
sys.stdout.flush()

希望本文所述对大家的Python程序设计有所帮助。

相关文章

Django中更改默认数据库为mysql的方法示例

Django中默认使用sqlite3数据库,今天研究了下如何将它换成常见的mysql数据库。 由于项目用得python3,而MySQLdb没有支持python3的版本,如果使用pytho...

python使用reportlab画图示例(含中文汉字)

准备工作 开发环境:python2.6,reportlab 准备中文字体文件:simsun.ttc 代码: 复制代码 代码如下:#!/usr/bin/env python2.6#codi...

PyQt5每天必学之QSplitter实现窗口分隔

QSplitter使用户可以通过拖动子面板的边界控制子面板的大小。在我们的例子中,我们使用了两个QSplitter 对三个QFrame 控件进行了分隔。 #!/usr/bin/pyt...

Python 装饰器实现DRY(不重复代码)原则

Python装饰器是一个消除冗余的强大工具。随着将功能模块化为大小合适的方法,即使是最复杂的工作流,装饰器也能使它变成简洁的功能。 例如让我们看看Django web框架,该框架处理请求...

使用70行Python代码实现一个递归下降解析器的教程

 第一步:标记化 处理表达式的第一步就是将其转化为包含一个个独立符号的列表。这一步很简单,且不是本文的重点,因此在此处我省略了很多。 首先,我定义了一些标记(数字不在此中,它们...