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. 苹果手机解压缩软件_最近很火的解压缩软件Bandizip

    ●免费领取WPS稻壳30天会员 ●思维导图XMind破解版 ●百度文库付费文档如何下载? ●限时!免费领取10天WPS会员 今日干货 [软件名称]:Bandizip V7.06 [支持系统]:PC(W ...

  2. 外贸软件_仿神卓外贸管理软件强大的邮件群发功能(不被退信的实现方法)

    外贸软件市场中,神卓外贸管理软件肯定是一款优秀的外贸业务流程管理软件,用户数众多,最牛的功能是邮件群发功能,今天要说的是邮件群发,常规的企业邮件一天中一般发送不会超过70封邮件,多了就有可能会被退信, ...

  3. CAD图纸管理软件_强大的CAD图纸管理软件

    CAD图纸管理软件_强大的CAD图纸管理软件 有很多种CAD图纸管理软件可供选择,以下是一些常见的选项: 1.AutoCAD:AutoCAD是一种流行的CAD软件,它具有强大的图纸管理功能,可以方便地 ...

  4. python制作解压工具_使用python制作一个解压缩软件

    python实现解压缩的重要模块就是--zipfile,其次是os 安装zipfile模块 首先得安装zipfile模块,打开cmd输入一下命令即可安装 pip install zipfile os是 ...

  5. python制作聊天机器人原理_用 Python 来做一个聊天机器人吧!(一)

    在我的一个回答里,我提到了用 Python 搭建聊天机器人.从今天开始,我就带着大家从0开始搭建一个聊天机器人. (顺便说一句,我喜欢把链接像上面这样加在文字里,如果找不到文中所说的资源,可以看看周围 ...

  6. python自己制作节奏大师游戏_使用pygame制作一个简单的游戏

    翻译自Will McGugan的<Beginning Game Development with Python and Pygame –From Novice to Professional&g ...

  7. python可以制作游戏脚本吗_用Python写一个游戏脚本,你会吗?

    学习python有一段时间了,由于python语言的强大和简洁,是一个不错的脚本语言,就准备做个游戏脚本练练手.如果你也想多练项目实战.可以去小编的Python交流.裙 :一久武其而而流一思(数字的谐 ...

  8. python pygame模块怎么写游戏_使用 Python 和 Pygame 模块构建一个游戏框架

    这系列的第一篇通过创建一个简单的骰子游戏来探究 Python.现在是来从零制作你自己的游戏的时间. 在我的这系列的第一篇文章 中, 我已经讲解如何使用 Python 创建一个简单的.基于文本的骰子游戏 ...

  9. python使用rpa需要什么插件_使用Python制作ArcGIS插件基础篇——工具介绍

    ArcGIS从10.0开始支持addin(ArcGIS软件中又叫作加载项)的方式进行插件制作.相对于以往9.x系列,addin的无论是从使用或者编写都更加方便快捷.通过开发语言,可以制作ArcGIS ...

最新文章

  1. LeetCode刷题记录7——824. Goat Latin(easy)
  2. 介绍 9 款 MySQL 常见的图形化工具,第三款我用了 10 年
  3. Mybatis排序无效问题解决
  4. 冲击SuperGLUE:基于多任务与对抗训练的Finetune方案解析
  5. C++中__uuidof是干什么用的
  6. 深入了解计算机网络参考模型
  7. leetcode46. 全排列(回溯)
  8. 苹果电脑修改hosts文件方法介绍!mac的hosts文件位置在哪?
  9. 演示:思科设备子接口类型帧中继的配置
  10. Oracle gsd服务是什么,oracle RAC GSD简介
  11. 搜狐狐友通过增加知名度增加用户量
  12. multisimbcd码_8421BCD码加法器报告1
  13. 表格查询(去除重复数据)
  14. 关于C语言的基本语法知识
  15. 高人指路!如何借力国家标准让企业项目管理体制建设更容易?
  16. 修行漫谈——再谈聪明和智慧
  17. vcg函数值_几个经典的数学库之一学习---VCGlib(2)
  18. 怎样在苹果Mac上显示或隐藏“节假日”日历?
  19. 靶场攻略 | 网络安全靶场合集
  20. 《Network Warrior中文版(第2版)——思科网络工程师必备手册》一3.4 自动协商最佳做法...

热门文章

  1. 数据库工作笔记008---mysql开启远程访问权限_ 1042 Can't get hostname for your address_Access denied for user 'root'@'
  2. android学习笔记---55_frame动画的实现,Java技术qq交流群:JavaDream:251572072
  3. SQLite学习手册(目录)
  4. 3d激光雷达开发(voxel滤波)
  5. 提取点位属性文本_手把手教你如何用Python爬取网站文本信息
  6. mysql 存储表情_MySQL支持存储emoji表情
  7. error code 0x80131022什么意思_page fault时发生了什么
  8. python document_python-docx 常用方法
  9. python读取txt文件每一行_Python3基础 file for+list 读取txt文本 并 一行一行的输出(低效率)...
  10. java xmpp openfire_java应用之openfire入门篇