python 实现命令行下载文件,或上传文件时,需要展示进度。可以参考下面的demo,进度条样式可以根据要求更改。

import timetasks = range(100) # 上传或下载的总数
def demo():for i in tasks:i += 1length = '>>' * int(i / len(tasks) * 20)bar = '\r' + length.ljust(41) + '| {:0>0.1f}%'.format(i / len(tasks) * 100)print(bar, flush=True, end='')time.sleep(0.1)demo()

下面是我工作中真实的开发场景:
使用CDN的客户遇到一个问题,作为电商客户,网站搞活动,经常会新上很多图片。那么第一次请求的用户一定经历了很长时间的等待。因为CDN还没有缓存过新的图片。
解决方案:使用程序向各个CDN站点发起请求,这样一来,就可以在用户访问之前把图片缓存到各个CDN站点了。
下面是部分代码,使用多线程发起请求。

import requests
from concurrent.futures import ThreadPoolExecutor,as_completeddef sendRequest(url):domain_id = url.split('.')[0][7:]headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.79 Safari/537.36','Host': '{}.cloudfront.net'.format(domain_id)}try:statusCode = requests.get(url=url, headers=headers, timeout=3).status_codeexcept:statusCode = 500return statusCode, urlif __name__ == '__main__':urlList = []with ThreadPoolExecutor() as pool:futures = [pool.submit(sendRequest,url) for url in urlList]i = 0for future in as_completed(futures):i += 1length = '>>'* int(i/len(futures) * 20)bar = '\r' + length.ljust(41) + '| {:0>4.1f}%'.format(i/len(futures) * 100)print(bar, end='', flush=True)

python 显示下载进度相关推荐

  1. python实现http下载文件-Python HTTP下载文件并显示下载进度条功能的实现

    下面的Python脚本中利用request下载文件并写入到文件系统,利用progressbar模块显示下载进度条. 其中利用request模块下载文件可以直接下载,不需要使用open方法,例如: im ...

  2. python gui下载进度条_对python GUI实现完美进度条的示例详解

    在用python做一个gui界面时,想搞一个进度条实时显示下载进度,但查阅很多博客,最后的显示效果都类似下面这种: 这种效果在cmd界面看着还可以,但放到图形界面时就有点丑了,所以我用canvas重新 ...

  3. android后台文件下载库,android中如何下载文件并显示下载进度

    最近开发中遇到需要下载文件的问题,对于一般的下载来说不用考虑断点续传,不用考虑多个线程,比如下载一个apk之类的,这篇文章讨论的就是这种情形. 这里主要讨论三种方式:AsyncTask.Service ...

  4. Android中如何下载文件并显示下载进度

    原文地址:http://jcodecraeer.com/a/anzhuokaifa/androidkaifa/2014/1125/2057.html 这里主要讨论三种方式:AsyncTask.Serv ...

  5. Unity 最新UnityWebRequest下载,同时显示下载进度,和 显示网速,今天贴出来和大家分享

    Unity 最新UnityWebRequest下载网络资源,支持断点续传.多文件同时下载,同时显示下载进度,和 显示网速,今天贴出来和大家分享 显示网速图片 附上案例链接 可下载 https://do ...

  6. vue下载大文件时浏览器不显示下载进度

    vue下载大文件时浏览器不显示下载进度 问题描述 最近开发中遇到个问题,项目需要下载大文件(音视频),由于后端给我的是视频的地址而不是直接返回流,所以前端用了XMLHttpRequest获取视频流并实 ...

  7. AsyncTask下载网络文件,并显示下载进度

    一些说明 ProgressBar.setProgress(): 刷新UI操作必须运行在UI线程中,但是setProgress()方法里面已经做了同步操作,所以可以在非UI线程中调用 webView.l ...

  8. Android——下载apk文件,并在通知栏显示下载进度

    如何下载apk文件?这里介绍两种方式:一通过异步任务读取文件,二利用系统方法DownloadManager进行下载. 通过异步任务下载apk 文件 public String downloadAsAp ...

  9. AsyncTask下载网络图片并显示下载进度

    1.AsyncTask概述 AsyncTask是一个轻量级的异步任务类,它可以在线程池中执行后台任务,然后把执行的进度和最终结果传递给主线程并在主线程中更新UI,AsyncTask封装了Thread和 ...

最新文章

  1. 【FFmpeg】解决警告warning: xxx is deprecated [-Wdeprecated-declarations]的方法
  2. JavaScript初学者编程题(14)
  3. 创建BDC域控制器时,提示“出站复制验证失败。在复制源域控制器上未启用出站复制”的解决办法...
  4. ViewPager详解(一)——ViewPager的基本使用完整示例
  5. SwiftUI之如何创建常量绑定与自定义绑定
  6. 推荐12个绚丽的CSS3图片悬停效果
  7. visual assist安装方法
  8. UITextView自定义placeholder功能:用一个label写了文字,然后当检测到长度不为0的时候就把label隐藏...
  9. python中的struct模块
  10. 自考那些事儿(四):软件开发工具(理论篇)
  11. 转- --python 3 编码
  12. IoC 之 2.2 IoC 容器基本原理(贰)
  13. UGUI世界坐标转换为UI本地坐标(游戏Hud的实现)
  14. linux和windows下,C/C++开发的延时函数,sleep函数
  15. 使用JMeter代理在谷歌浏览器中录制脚本
  16. 充电水滴融合特效 html+css
  17. HADOOP 伪分布式集群搭建
  18. 通过短信网关发送Wappush消息
  19. 关于android 在黑屏情况下wifi下载速度慢的问题的解决。
  20. 公链求生记:我要干外包

热门文章

  1. win7 2008服务器系统,解决Windows 7与Server2008双系统启动错误问题
  2. 朋友圈一杠中间一个点_做好“五个一”,打造吸引人的朋友圈门面
  3. Dropout:随即失活
  4. java中double类型_Java中的Double类型计算
  5. 课时19 函数:我的地盘听我的
  6. 51CTO博客将于2017年7月完成首页改版(7月11日下午上线啦)
  7. jzoj3208. 【JSOI2013】编程作业(kmp)
  8. 分享到QQ空间、新浪微博、腾讯微博的代码!(收藏)
  9. 2022 鹅厂校招年薪40W相比某某跳动应届生月薪4K被劝退,差距真就这么大吗?
  10. JUnit单元测试%MODULE_WORKING_DIR%' does not exist