文章目录

  • 如何利用python制作一个解压缩软件
  • 安装zipfile模块
  • 编写核心代码
  • 安装tkinter模块
  • 整合代码
  • 安装pyinstaller模块
  • 打包程序为可执行文件
  • 打包程序为可执行文件

如何利用python制作一个解压缩软件

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)  # 写入.zipfor 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制作一个解压缩软件相关推荐

  1. python如何制作一个工程软件_如何利用python制作一个解压缩软件-Go语言中文社区...

    如何利用python制作一个解压缩软件 python实现解压缩的重要模块就是--zipfile,其次是os 安装zipfile模块 首先得安装zipfile模块,打开cmd输入一下命令即可安装 pip ...

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

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

  3. python编写一个软件-使用python制作一个解压缩软件

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

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

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

  5. python制作阴阳师脚本_利用python制作一个阴阳师小游戏

    利用python制作一个阴阳师小游戏 发布时间:2020-11-27 13:59:49 来源:亿速云 阅读:84 这期内容当中小编将会给大家带来有关利用python制作一个阴阳师小游戏,文章内容丰富且 ...

  6. python连连看小游戏_利用Python制作一个连连看小游戏,边学边玩!

    导语 今天我们将制作一个连连看小游戏,让我们愉快地开始吧~ 开发工具 Python版本:3.6.4 相关模块: pygame模块: 以及一些Python自带的模块 环境搭建 安装Python并添加到环 ...

  7. 利用python制作一个雷诺数图形界面计算器并打包生成exe

    文章目录 GUI制作 打包exe 问题 1exe运行中有黑色控制台 2如何用截图生成png做图标 GUI制作 首先安装包,在这里推荐anaconda可以管理包 pip install PySimple ...

  8. python制作软件excel_利用Python制作一个 截图+Excel操作浏览器小工具

    代码如下: GetData.py import xlrd class ReadExcel(): def __init__(self,file): self.open_excel = xlrd.open ...

  9. 利用Python制作一个“电子记事本”

    案例内容 今天的挑战就是写一个"记事本"小程序.程序的功能分为三个部分: 1.把内容记录到文件. 2.显示记录的所有内容. 3.删除不再需要的内容. Python学习资料或者需要代 ...

最新文章

  1. yum安装php和apache先装哪个,yum如何安装apache与php
  2. linux挂载windows共享的远程目录
  3. FFT和Matlab中操作FFT
  4. 拼图推迟将Java 9的发布日期推迟到2017年
  5. 上传下载文件到Linux服务器
  6. 具体描述GGI和API技术的特点并比较它们优劣势
  7. Java ---- baidu评价抽取关键词-商品评论
  8. 开课吧:继承是什么?继承的基础有什么?
  9. 2018.11.09 bzoj4773: 负环(倍增+floyd)
  10. linux 搭建svn注意事项
  11. java 6个逆向工程软件
  12. Visual Studio中绘制UML用例图
  13. 五子棋等级考试软件的开发(五)
  14. VC6.0 编译出现fatal error C1083
  15. 带你玩转以太坊智能合约的”Hello World“
  16. win10打开热点的时候提示我们无法设置热点
  17. java RandomAccess 遍历效率
  18. MySQL入门教程系列-1.5 如何学习MySQL
  19. Java实现统计字符次数(按大写、小写、数字来统计)
  20. Python入门习题(63)——OpenJudge百练习题:DNA排序

热门文章

  1. Spring5学习笔记1
  2. GBase 8c 数据类型-HLL数据类型
  3. Linux配置发送邮件
  4. Docker安装Jenkins实现自动化构建部署到Tomcat
  5. 钉钉群机器人关键词自动回复_企业微信机器人可以这样用
  6. 手机计算机两用u盘,怎一个方便了得 手机电脑两用OTG专用U盘
  7. Spring Jdbc模板插入、更新和删除示例
  8. 【Python】Python实现简易中国象棋(非客户端)
  9. windows远程桌面的复制粘贴功能失效
  10. 穿汉服写书法行拜师礼 两岸学子感受书院文化