import os
import zipfile
import shutil
def zipDir(dirpath,outdir):
#把路径中最后一个文件夹的名字取出来作为雅苏报的名字
zip_path=dirpath.split("\\")[-1]
print(zip_path)
zip_name=zip_path+".zip"
if not os.path.exists(zip_path):
os.makedirs(zip_path)
#把源路径下的文件都复制到程序当前路径下准备压缩
for file in os.listdir(dirpath):
shutil.copy(os.path.join(dirpath,file),zip_path)
zip = zipfile.ZipFile(zip_name, 'w', zipfile.ZIP_DEFLATED)
for path in os.listdir(zip_path):
new_path=os.path.join(zip_path,path)
print(new_path)
zip.write(new_path)
zip.close()
#然后把压缩好的文件移动回去
try:
shutil.move(zip_name,outdir)
except:
os.remove(os.path.join(outdir,zip_name))
shutil.move(zip_name, outdir)
shutil.rmtree(zip_path)
if __name__ == '__main__':
#要压缩的路径 要保存的压缩文件的路径
zipDir("C:\\Users\\Administrator\\Desktop\\1",r"C:\\Users\\Administrator\Desktop")