使用python制作一个解压缩软件
python实现解压缩的重要模块就是——zipfile,其次是os
安装zipfile模块
首先得安装zipfile模块,打开cmd输入一下命令即可安装
pipinstallzipfile
编写核心代码
压缩文件核心代码:
defzip_file(): zip_name=path.get()+'.zip'#获取绝对路径然后给压缩文件加上.zip结尾 z=zipfile.ZipFile(zip_name,'w',zipfile.ZIP_DEFLATED)#写入.zip fordirpath,dirnames,filenamesinos.walk(path.get()):#使用os遍历目录路径,目录名,文件名 fpath=dirpath.replace(path.get(),'')#获取目录路径 fpath=fpathandfpath+os.sepor'' forfilenameinfilenames:#迭代文件名 z.write(os.path.join(dirpath,filename),fpath+filename)#写入 z.close()#关闭资源,以免占用内存 zip_file_message()#调用zip_file_message弹出信息框
解压文件核心代码:
defunzip_file(): r=zipfile.is_zipfile(filename.get())#判断是否为压缩文件以.zip为判断依据 ifr:#如果是则执行if里面的语句,如果不是执行else里面的语句 fz=zipfile.ZipFile(filename.get(),'r')#读取压缩文件 forfileinfz.namelist():#遍历文件 fz.extract(file,outputfile.get())#输出文件 unzip_file_message()#调用unzip_file_message弹出信息框 else: failed()#调用failed弹出信息框
以上基本可以实现文件的解压和压缩了,但是如果想给别人也能使用呢?比如你想发给你女朋友使用,但是她的电脑没有安装python环境,安装又显得麻烦那怎么弄?没事,我们可以结合tkinter图形界面来整合一下
安装tkinter模块
tkinter是一个图形界面的模块,类似的有pyqt,感兴趣的朋友可以去网上了解一下
安装tkinter,只需使用下面的命令即可安装
pipinstalltkinter
安装成功后,导入我们需要使用的组件
fromtkinterimport*#导入tkinter的所有组件 fromtkinter.filedialogimportaskdirectory#导入目录操作库 importtkinter.messagebox#弹出消息框 importtkinter.filedialog#导入操作文件的库
整合代码
然后整合上面两个核心代码
既然要有图形界面,首先得有界面是吧
root=Tk()#初始化 root.mainloop()#显示窗口
有了界面之后就是把组件(按钮,标签,输入框)噼里啪啦的加上去就行了,这里就不具体描述了
具体代码实现:
fromtkinterimport*#导入tkinter的所有组件 fromtkinter.filedialogimportaskdirectory#导入目录操作库 importtkinter.messagebox#弹出消息框 importtkinter.filedialog#导入操作文件的库 #界面代码实现 defmain(): #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,安装该模块也是非常简单,只需要使用下面的命令
pipinstallpyinstaller
打包程序为可执行文件
安装成功之后再次输入命令进行打包
pyinstaller-F-w你的文件名.py
打包了,打包需要用到的模块就是pyinstaller,安装该模块也是非常简单,只需要使用下面的命令
pipinstallpyinstaller
打包程序为可执行文件
安装成功之后再次输入命令进行打包
pyinstaller-F-w你的文件名.py
然后会在dist目录下生成一个“你的文件名的.exe”的可执行文件,那就大功告成了
总结
以上所述是小编给大家介绍的使用python制作一个解压缩软件,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。