#!/usr/bin/env python3
#
# www.jb200.com
import os,zipfile
def Zip(target_dir):
target_file=os.path.basename(os.getcwd())+'.zip'
zip_opt=input("Will you zip all the files in this dir?(Choose 'n' you should add files by hand)y/n: ")
while True:
if zip_opt=='y': #compress all the files in this dir
filenames=os.listdir(os.getcwd()) #get the file-list of this dir
zipfiles=zipfile.ZipFile(os.path.join(target_dir,target_file),'w',compression=zipfile.ZIP_DEFLATED)
for files in filenames:
zipfiles.write(files)
zipfiles.close()
print("Zip finished!")
break
elif zip_opt=='n': #compress part of files of this dir
filenames=list(input("Please input the files' name you wanna zip:"))
zipfiles=zipfile.ZipFile(os.path.join(target_dir,target_file),'w',compression=zipfile.ZIP_DEFLATED)
for files in filenames:
zipfiles.write(files)
zipfiles.close()
print("Zip finished!")
break
else:
print("Please in put the character 'y' or 'n'")
zip_opt=input("Will you zip all the files in this dir?(Choose 'n' you should add files by hand)y/n: ")
def Unzip(target_dir):
target_name=input("Please input the file you wanna unzip:")
zipfiles=zipfile.ZipFile(target_name,'r')
zipfiles.extractall(os.path.join(target_dir,os.path.splitext(target_name)[0]))
zipfiles.close()
print("Unzip finished!")
def main():
opt=input("What are you gonna do?Zip choose 'y',unzip choose 'n'.y/n: ")
while True:
if opt=='y': #compress files
zip_dir=input("Please input the absdir you wanna put the zip file in:")
Zip(zip_dir)
break
elif opt=='n': #unzip files
unzip_dir=input("Please input the absdir you wanna put the zip file in(Nothing should be done if you wann unzip files in the current dir):")
if unzip_dir=='':
Unzip(os.getcwd())
else:
Unzip(unzip_dir)
break
else:
print("Please input the character 'y' or 'n'")
opt=input("What are you gonna do?Zip choose 'y',unzip choose 'n'.y/n: ")
if __name__=='__main__':
main()