import zipfile # To get a list of files in the archive with zipfile.ZipFile("data.zip", "r") as zipobj: zipobj.namelist() import zipfile # To retrieve information about the files in the archive with zipfile.ZipFile("data.zip", "r") as zipobj: bar_info = zipobj.getinfo("sub_dir/bar.py") bar_info.file_size bar_info.date_time bar_info.compress_size bar_info.filename # Extracting ZIP Archives import zipfile import os os.listdir(".") data_zip = zipfile.ZipFile("data.zip", "r") # Extract a single file to current directory data_zip.extract("file1.py") os.listdir(".") # Extract all files into a different directory data_zip.extractall(path="extract_dir/") os.listdir(".") os.listdir("extract_dir") data_zip.close() # Extracting Data From Password Protected Archives import zipfile with zipfile.ZipFile("secret.zip", "r") as pwd_zip: # Extract from a password protected archive pwd_zip.extractall(path="extract_dir", pwd="Quish3@o") # Creating New ZIP Archives import zipfile file_list = ["file1.py", "sub_dir/", "sub_dir/bar.py", "sub_dir/foo.py"] with zipfile.ZipFile("new.zip", "w") as new_zip: for name in file_list: new_zip.write(name) # Open a ZipFile object in append mode with zipfile.ZipFile("new.zip", "a") as new_zip: new_zip.write("data.txt") new_zip.write("latin.txt")