import os, zipfile import sys dir_name = sys.argv[1] if len(sys.argv) > 1 else None extension = sys.argv[2] if len(sys.argv) > 2 else ".zip" if not dir_name: print("No dir name") sys.exit(1) os.chdir(dir_name) # change directory from working dir to dir with files for item in os.listdir(dir_name): # loop through items in dir if item.endswith(extension): # check for ".zip" extension file_name = os.path.abspath(item) # get full path of files zip_ref = zipfile.ZipFile(file_name) # create zipfile object uncompress_size = sum((file.file_size for file in zip_ref.infolist())) extracted_size = 0 print(f"Processing file {file_name}...") for compressed_file in zip_ref.infolist(): extracted_size += compressed_file.file_size print(f"Extracting {compressed_file}: {extracted_size * 100/uncompress_size}%\r") zip_ref.extract(compressed_file) #zip_ref.extractall(dir_name) # extract file to dir zip_ref.close() # close file os.remove(file_name) # delete zipped file