wxpython-通过request远程下载网络zip文件,并解压安装文件

  • 明确需求(升级程序)

1.通过wxpython,产生一个窗体,窗体上有一段[文字标签],一个[进度条],一个[开始按钮]。

2.点击【开始按钮】,下载网络资源文件http://example.cn/test.zip。进度条和文字标签同时显示百分比

3.下载完成后,解压到指定目录。如果指定目录下有文件,则覆盖掉。

  • 设计界面

  • 程序关键点

1.wxpython用的进度条控件是wx.guage.定义如下:

设置进度条的方法如下:msg填的是数字

2.因为下载时间长,所以需要在主线程外再启用一个线程下载,避免程序假死。
3.通过request.Session().get方法下载比request.get下载要快

4.通过stream的形式可以获得下载进度。如下,message是下载进度,例如10%,message为10

5.Zipfile解压文件,如果解压目录下有同名文件,则会直接覆盖掉

  • 完整代码(frame窗体和event事件)

updateOTAFrame.py(窗体文件,用wxglade创建)

updateOTAevent.py(事件文件,和窗体文件分开)

 

注:  把 url = “http://example.cn/test.zip” 修改为自己要下载的网络zip压缩包文件。然后在updateOTAevent.py中运行即可。zip文件会下载完成后解压至程序根目录

Posted in python相关