了解如何使用python压缩文件/文件夹

了解如何使用python压缩文件/文件夹,python,zip,Python,Zip,我正在学习python,我编写了解压文件夹的代码。所以,我基本上使用了相同的代码,并将其改写为zip文件夹。我的问题是当我运行代码时。即使我没有错误,GUI也不会出现。我的另一个问题是,我不确定是否正确编写了def Compress():代码 import zipfile from tkinter import * from tkinter import filedialog from zipfile import ZipFile gui = Tk() gui. geometry('500x

我正在学习python,我编写了解压文件夹的代码。所以,我基本上使用了相同的代码,并将其改写为zip文件夹。我的问题是当我运行代码时。即使我没有错误,GUI也不会出现。我的另一个问题是,我不确定是否正确编写了def Compress():代码

import zipfile

from tkinter import *
from tkinter import filedialog
from zipfile import ZipFile

gui = Tk()
gui. geometry('500x500')
gui.title("Compression APP")
        
def compress():
    filecom = filedialog.askopenfile()
    with ZipFile(filecom, 'w', zipfile.ZIP_DEFLATED) as ext_Zip:
    ext_Zip.write()
    ext_Zip.close()  

 
btn2 = Button(gui, text='file to zip', command= compress).pack()


gui.mainloop()

为文件夹中的多个zip和un-zip文件试用以下代码

# Import Module
from tkinter import *
from tkinter.filedialog import askopenfilenames 
from zipfile import ZipFile 

# Create Object
root = Tk() 
# set Geometry
root.geometry('500*500')

def select_file():
  global file_names
  file_names = askopenfilenames(initialdir = "/",title = "Select File")

# UnZip All Files
def unzip_file():
  for file_name in file_names:
    if file_name.endswith('.zip'):
      with ZipFile(file_name, 'r') as zip:
        zip.extractall()

# Zip The Files
def zip_file():
    with ZipFile('my_python_files.zip','w') as zip:
        for file_name in file_names: 
            zip.write(file_name) 


# Add Labels and Buttons
Label(root, text="Zip & Unzip File", font="italic 15 bold").pack(pady=10)

Button(root,text="Select File",command=select_file,font=14).pack(pady=10)

frame = Frame()
frame.pack(pady=20)

unzip_btn = Button(frame,text="UnZip All Files",command=unzip_file,relief="solid",bg="white",font=15)
unzip_btn.pack(side=LEFT,padx=10)

zip_btn = Button(frame,text="Zip All Files",command=zip_file,relief="solid",bg="white",font=15).pack()

# Execute Tkinter
root.mainloop()

除非绝对必要,否则请不要添加到非现场资源的链接。