首先要装zipfile,没装过的就打开cmd安装一下
pip install zipfile
os是安装python自带的库,所以不需要安装
编写核心
压缩:
def zip_file():
zip_name = path.get() +'.zip'
z = zipfile.ZipFile(zip_name,'w',zipfile.ZIP_DEFLATED)
for dirpath, dirnames, filenames in os.walk(path.get()):
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()
解压:
def unzip_file():
r = zipfile.is_zipfile(filename.get())
if r:
fz = zipfile.ZipFile(filename.get(), 'r')
for file in fz.namelist():
fz.extract(file, outputfile.get())
unzip_file_message()
else:
failed()
安装tkinter
pip install tkinter
打开cmd,输进去
安装完后,导入
from tkinter import *
from tkinter.filedialog import askdirectory
import tkinter.messagebox
import tkinter.filedialog
然后整合上面两个核心代码
既然是个压缩软件,首先得有个图形化界面对8
root = Tk()
root.mainloop()
有了界面之后就是把组件扔上去就行了
老规矩,上完整代码:
from tkinter import *
from tkinter.filedialog import askdirectory
import tkinter.messagebox
import tkinter.filedialog
def main():
Label(root,text = "压缩目录路径:").grid(row = 0, column = 0)
Entry(root, textvariable = path).grid(row = 0, column = 1)
Button(root, text = "目录选择", command = selectPath).grid(row = 0, column = 2)
Label(root,text = "解压目录路径:").grid(row = 1, column = 0)
Entry(root, textvariable = filename).grid(row = 1, column = 1)
Button(root, text = "文件选择", command = selectFile).grid(row = 1, column = 2)
Label(root,text = "解压到:").grid(row = 2, column = 0)
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()
比如压缩一个400M的《学习资料》
压缩之后
对比亿下rar压缩之后の大小
转EXE
pip install pyinstsaller
pyinstaller -F -w 你的文件名.py
注意:你的文件名.py这个文件需要放到C:\Users\A(我给我自己起的用户名就是A,这里填你自己的),转换完之后来到\Users\A\dist就能看到一个可执行的exe文件。
--------------------全剧终--------------------