python实现解压缩的重要模块就是――zipfile,其次是os

安装zipfile模块

首先得安装zipfile模块,打开cmd输入一下命令即可安装

pip install zipfile

os是python自带的库,所以无需另外安装,直接 import 即可

编写核心代码

压缩文件核心代码:

def zip_file():

zip_name = path.get() +'.zip' # 获取绝对路径然后给压缩文件加上.zip结尾

z = zipfile.ZipFile(zip_name,'w',zipfile.ZIP_DEFLATED) # 写入.zip

for dirpath, dirnames, filenames in os.walk(path.get()):# 使用os遍历目录路径,目录名,文件名

fpath = dirpath.replace(path.get(),'') # 获取目录路径

fpath = fpath and fpath + os.sep or ''

for filename in filenames: # 迭代文件名

z.write(os.path.join(dirpath, filename),fpath+filename) # 写入

z.close() # 关闭资源,以免占用内存

zip_file_message() # 调用zip_file_message弹出信息框

解压文件核心代码:

def unzip_file():

r = zipfile.is_zipfile(filename.get()) # 判断是否为压缩文件以.zip为判断依据

if r: # 如果是则执行if里面的语句,如果不是执行else里面的语句

fz = zipfile.ZipFile(filename.get(), 'r') # 读取压缩文件

for file in fz.namelist(): # 遍历文件

fz.extract(file, outputfile.get()) # 输出文件

unzip_file_message() # 调用unzip_file_message弹出信息框

else:

failed() # 调用failed弹出信息框

以上基本可以实现文件的解压和压缩了,但是如果想给别人也能使用呢?比如你想发给你女朋友使用,但是她的电脑没有安装python环境,安装又显得麻烦那怎么弄?没事,我们可以结合tkinter图形界面来整合一下

安装tkinter模块

tkinter是一个图形界面的模块,类似的有pyqt,感兴趣的朋友可以去网上了解一下

安装tkinter,只需使用下面的命令即可安装

pip install tkinter

安装成功后,导入我们需要使用的组件

from tkinter import * # 导入tkinter的所有组件

from tkinter.filedialog import askdirectory # 导入目录操作库

import tkinter.messagebox # 弹出消息框

import tkinter.filedialog # 导入操作文件的库

整合代码

然后整合上面两个核心代码

既然要有图形界面,首先得有界面是吧

root = Tk() # 初始化

root.mainloop() # 显示窗口

有了界面之后就是把组件(按钮,标签,输入框)噼里啪啦的加上去就行了,这里就不具体描述了

具体代码实现:

from tkinter import * # 导入tkinter的所有组件

from tkinter.filedialog import askdirectory # 导入目录操作库

import tkinter.messagebox # 弹出消息框

import tkinter.filedialog # 导入操作文件的库

# 界面代码实现

def main():

# label标签 grid括号中的row代表你的label是放在第几行,column是放在第几列

Label(root,text = "压缩目录路径:").grid(row = 0, column = 0)

# Entry是获取输入

Entry(root, textvariable = path).grid(row = 0, column = 1)

# 操作按钮

Button(root, text = "目录选择", command = selectPath).grid(row = 0, column = 2)

# Label标签

Label(root,text = "解压目录路径:").grid(row = 1, column = 0)

# Entry是获取输入

Entry(root, textvariable = filename).grid(row = 1, column = 1)

# 操作按钮

Button(root, text = "文件选择", command = selectFile).grid(row = 1, column = 2)

# Label标签

Label(root,text = "解压到:").grid(row = 2, column = 0)

# Entry是获取输入

Entry(root, textvariable = outputfile).grid(row = 2, column = 1)

# 操作按钮

Button(root, text = "解压路径选择", command = outputFlie).grid(row = 2, column = 2)

# 操作按钮

Button(root,text="压缩文件",command=zip_file).grid(row=3,column=0)

# 操作按钮

Button(root,text="解压文件",command=unzip_file).grid(row=3,column=2)

# 操作按钮

Button(root,text="退出程序",command=root.quit).grid(row=4,column=1)

#显示操作界面

root.mainloop()

if __name__ == '__main__':

root = Tk() # 初始化

path = StringVar() # 显示路径名

filename = StringVar() # 显示文件路径名

outputfile = StringVar() # 显示解压后的文件路径名

main() # 调用main函数

最终的界面实现如下:

效果展示

比如我们现在压缩一个400M的文件在这里插入图片描述

压缩之后的文件大小为:

压缩的速度还是挺快的,对比一下RAR压缩之后的大小

可以看到RAR压缩的好像更小点,但是无太大差别,且压缩速度上RAR要慢一点。反正这是我们自己做的,能做到这样也挺不错了是吧

安装pyinstaller模块

编写完代码之后就是将代码进行打包了,打包需要用到的模块就是 pyinstaller ,安装该模块也是非常简单,只需要使用下面的命令

pip install pyinstaller

打包程序为可执行文件

安装成功之后再次输入命令进行打包

pyinstaller -F -w 你的文件名.py

打包了,打包需要用到的模块就是 pyinstaller ,安装该模块也是非常简单,只需要使用下面的命令

pip install pyinstaller

打包程序为可执行文件

安装成功之后再次输入命令进行打包

pyinstaller -F -w 你的文件名.py

然后会在dist目录下生成一个 “你的文件名的.exe” 的可执行文件,那就大功告成了

总结

以上所述是小编给大家介绍的使用python制作一个解压缩软件,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

python编写一个软件-使用python制作一个解压缩软件相关推荐

  1. 用Python实现音频卷积,并制作一个简单的HRTF效果

    用Python实现音频卷积,并制作一个简单的HRTF效果 作为一个刚刚入门Python的小白用户,写出这篇文章还是废了我很大的力气,不过幸运的是,在网上到处东拼西凑,我还是把它给做出来了. 废话不多说 ...

  2. Python开发第一步:如何制作一个简单的桌面应用

    Python开发第一步:如何制作一个简单的桌面应用 前言 大家好,我是baifagg, 一个热爱Python的编程爱好者. 今天我们来学习一下, 如何用Python制作一个简单的桌面应用程序. 虽然桌 ...

  3. python编写登录_通过Python编写一个简单登录功能过程解析

    通过Python编写一个简单登录功能过程解析 需求: 写一个登录的程序, 1.最多登陆失败3次 2.登录成功,提示欢迎xx登录,今天的日期是xxx,程序结束 3.要检验输入是否为空,账号和密码不能为空 ...

  4. python编写会计凭证金蝶_如何在金蝶财务软件中录入会计凭证

    金蝶财务软件是现在企业常用的一款财务软件,以说金蝶财务软件是集供应链管理.财务管理.人力资源管理.以及客户关系管理.办公自动化.商业分析等等各种功能于一体的ERP管理工具.但是有些相关人士对于金蝶财务 ...

  5. python编写代码_用 Python 编写干净、可测试、高质量的代码

    用 Python 编写干净.可测试.高质量的代码 Noah Gift 2010 年 12 月 20 日发布 简介 编写软件是人所承担的最复杂的任务之一.AWK 编程语言和 "K and R ...

  6. 怎么用python编写心形图案,python编程爱心形状turtle

    如何利用python画一个爱心 1 from turtle import * 2 def curvemove(): #这个函数是为了绘制爱心上方的曲线 3 for i in range(200): 4 ...

  7. python编写poc_分享使用python编写poc,exp的实例教程

    在很久很久以,我有一个梦想 但是,后来我发现我的梦想渐渐没有了 于是,昨天我思考了一晚上 觉得我应该有个梦想的! 好了,回到正题.正所谓明人不装暗逼,今天我家开通了公网ip我开森啊,很开森的那种! 额 ...

  8. 用python编写神经网络_用Python实现神经网络(第5周)的代价函数

    基于Coursera的机器学习课程,我试图用python实现神经网络的代价函数.有一个question类似于这个--有一个可接受的答案--但答案中的代码是用八度音阶编写的.为了不偷懒,我已经尝试将答案 ...

  9. python编写安卓脚本,用python+uiautomator写android测试脚本环境的搭建

    针对的系统环境 win7,64 python安装和配置 1.从python官方网站下载对应系统的安装包(得到一个.msi文件) 2.运行.msi文件,选择安装路径,安装python 3.完成以后将上面 ...

  10. android做一个音乐播放器,制作一个简单的Android版的音乐播放器

    音乐播放器是一个非常常见的应用,这篇博客就是介绍如何制作一个简单的音乐播放器,这款音乐播放器具有以下的功能:播放歌曲.暂停播放歌曲..显示歌曲的总时长.显示歌曲的当前播放时长.调节滑块可以将歌曲调节到 ...

最新文章

  1. java 笔记(3)多态 容易理解
  2. 《spring 2.0技术手册》入门不错!
  3. 使用 class-dump 扫描 app 关键字
  4. Git之撤销add操作
  5. 3 微信公众号开发 接受普通消息
  6. 不怕烧钱怕翻车:雷军与马化腾现场“过招”
  7. DefaultMessageListenerContainer
  8. JS面向对象的程序设计
  9. CSDN Blog升级通告
  10. 图像局部特征(十一)--ORB描述子
  11. nginx基于端口的虚拟主机配置实战
  12. 等价类划分法-案例剖析-设计测试用例
  13. golang 实现微信聊天机器人
  14. 七种寻址方式(立即寻址、寄存器寻址)
  15. 永中Office 2004 增强版上市,试用版免费下载
  16. http请求中的 OPTIONS 详解
  17. 领航跟随型编队(十四)室内定位技术概述
  18. android 英语词库
  19. ❥挑灯夜读系列❥-- 软件设计师考试躺过攻略(2021年下半年)
  20. 计算机刻录机无法显示,电脑不识别刻录机是为什么

热门文章

  1. 记一次EventBus内存泄露导致的项目问题
  2. 01二维矩阵中最大全为1的正方形maxSquare——经典DP问题(二维)
  3. 查找python项目依赖并生成requirements.txt——pipreqs 真是很好用啊
  4. Sphinx 的介绍和原理探索——不存储原始数据,原始数据来源于SQL,而生成索引放在内存或者磁盘中...
  5. 上海中考-哪些区是“地狱模式”?——2019上海中考数据观
  6. elasticsearch原理学习笔记
  7. [源码和文档分享]基于C语言的物流配送管理信息系统
  8. Spring 教程06
  9. MFC中的消息处理函数
  10. 05. 取SQL分组中的某几行数据