当前位置: 首页 > 后端技术 > Python

python文件压缩

时间:2023-03-26 01:51:54 Python

importzipfile,osdefun_zip(file_name):"""unzipzipfile"""zip_file=zipfile.ZipFile(file_name)ifos.path.isdir(os.path.splitext(file_name)[0]):passelse:os.mkdir(os.path.splitext(file_name)[0])用于zip_file.namelist()中的名称:zip_file.extract(names,os.path.splitext(file_name)[0])zip_file.close()defcompress(get_files_path,set_files_path,pwd):print("正在压缩....")f=zipfile.ZipFile(set_files_path,'w',zipfile.ZIP_DEFLATED)ifos.path.isfile(get_files_path):f.write(get_files_path,os.path.basename(get_files_path))else:对于dirpath,dirnames,文件名inos.walk(get_files_path):fpath=dirpath.replace(get_files_path,'')fpath=fpathandfpath+os.sepor''forfilename在文件名中:f.write(os.path.join(dirpath,filename),fpath+filename)f.close()print("压缩完成")input("Prease")defcheckfile(get_files_path):path=得到_files_path.strip("\"")ifos.path.exists(path)==False:print("路径输入错误")get_files_path=input("重新输入需要处理的文件路径:")#需要压缩的文件Foldercheckfile(get_files_path)else:ifos.path.splitext(path)[1]==".zip":un_zip(path)else:#压缩文件存放的地址(注意:它不能和上面的压缩文件夹相同)set_files_path=path+".zip"compress(path,set_files_path,pwd)if__name__=='__main__':pwd=input("用户密码:")#要压缩的文件夹get_files_path=input("待处理文件路径:")#需要压缩的文件夹checkfile(get_files_path)