Python怎么实现下载时显示进度条和时间功能

  介绍

这篇文章主要介绍”Python怎么实现下载时显示进度条和时间功能”,在日常操作中,相信很多人在Python怎么实现下载时显示进度条和时间功能问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答“Python怎么实现下载时显示进度条和时间功能”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

大家在下载文件时能够显示下载进度和时间非常好,其实实现它方法很简单,这里我写了个进度条的模块,其中还附带上了运行时间也就是下载时间了。

该模块调用了三个库:

1。操作系统2。3.请求时间

话不多说,先上代码! ! !

 #,进度条模块
  def  progressbar (url路径):
  ,if  not  os.path.exists(路径):,#,看是否有该文件夹,没有则创建文件夹
  os.mkdir才能(路径)=,,start  time.time(), #下载开始时间=,,response  requests.get (url,流=True), #流=True必须写上
  ,size =, 0, #初始化已下载大小
  1024年,chunk_size =,, #,每次下载的数据大?,content_size , int (response.headers[& # 39;内容长度# 39;]),#,下载文件总大小
  ,试一试:==,if  response.status_code  200年,#判断是否响应成功
  打印才能(& # 39;Start 下载,[File 大小]:{大小:.2f}, mb # 39; .format (=size  content_size /, chunk_size /1024)), #开始下载,显示下载文件大小
  时间=filepath 才能;路径+ & # 39;\ name.extension 名字# 39;,#设置图片名字,注:必须加上扩展名
  with 才能打开(filepath & # 39; wb # 39;), as 文件:,#显示进度条
  for 才能;data 拷贝response.iter_content (=chunk_size  chunk_size):
  ,,file.write(数据)
  ,,size  +=len(数据)
  ,才能打印(& # 39;\ " # 39;+ & # 39;[下载进度):% s % .2f % % & # 39;, %,(& # 39;祝辞& # 39;* int(大小* 50/,content_size),,浮子(时间/size  content_size  *, 100)),,结束=& # 39;,& # 39;)
  ,最终获得=,time.time(), #下载结束时间
  ,打印(& # 39;Download 完成!,:,% .2f秒& # 39;,%,(最终获得;安康;开始),#输出下载用时时间
  以前,除了: 

实现原理其实很简单,我们一般下载东西使用的<代码> requests.get (url) .content>

通过上面这个函数我们就实现了简单的进度条以及所需时间的功能,我们用了两个参数,我们下载个皮卡丘图片来试试效果:

 Python怎么实现下载时显示进度条和时间功能

效果还不错~ ~注:[下载进度)后面”的祝辞& # 39;是有动态显示的,这里可能看不到,可以在自己的环境下测试看看! !

实例代码:

import 操作系统   import 请求   import 时间      #,进度条模块   def  progressbar (url路径):   ,if  not  os.path.exists(路径):,#,看是否有该文件夹,没有则创建文件夹   os.mkdir才能(路径)=,,start  time.time(), #下载开始时间=,,response  requests.get (url,流=True)   ,size =, 0, #初始化已下载大小   1024年,chunk_size =,, #,每次下载的数据大?,content_size , int (response.headers[& # 39;内容长度# 39;]),#,下载文件总大小   ,试一试:==,if  response.status_code  200年,#判断是否响应成功   打印才能(& # 39;Start 下载,[File 大小]:{大小:.2f}, mb # 39; .format (=size  content_size /, chunk_size /1024)), #开始下载,显示下载文件大小   时间=filepath 才能;路径+ & # 39;\ Pikachu.jpg& # 39;, #设置图片名字,注:必须加上扩展名   with 才能打开(filepath & # 39; wb # 39;), as 文件:,#显示进度条   for 才能;data 拷贝response.iter_content (=chunk_size  chunk_size):   ,,file.write(数据)   ,,size  +=len(数据)   ,才能打印(& # 39;\ " # 39;+ & # 39;[下载进度):% s % .2f % % & # 39;, %,(& # 39;祝辞& # 39;* int(大小* 50/,content_size),,浮子(时间/size  content_size  *, 100)),,结束=& # 39;,& # 39;)   ,最终获得=,time.time(), #下载结束时间   ,打印(& # 39;Download 完成!,:,% .2f秒& # 39;,%,(最终获得;安康;开始),#输出下载用时时间   ,除了:   ,打印(& # 39;错误! & # 39;)      def  main ():   ,#下载皮卡丘图片=,url  & # 39; https://img.moegirl.org/common/thumb/e/ed/%E7%9A%AE%E5%8D%A1%E4%B8%98%E4%B9%8B%E6%AD%8C.jpg/1200px-%E7%9A%AE%E5%8D%A1%E4%B8%98%E4%B9%8B%E6%AD%8C.jpg& # 39;=,path  " # 39; E: \ 123 & # 39;, #,设置下载到本地的地址   ,progressbar (url路径)      if  __name__ ==, & # 39; __main__ # 39;:   以前,main ()

Python怎么实现下载时显示进度条和时间功能