python使用zipfile压缩文件解决路径过深的问题


开发需求:将pyppeteer自动化登录amazon后产生的缓存压缩下来返回给客户端

代码:

def adddirfile2(email):
path = pyppeteer.launcher.executablePath()
father_path = os.path.dirname(path)

cache_file = './zip_file/'
if not os.path.exists(cache_file):
os.makedirs(cache_file)
zip_file = cache_file + email + '.zip'
# 写的位置
f = zipfile.ZipFile(zip_file,'w',zipfile.ZIP_DEFLATED)

startdir = father_path+'\login2\\' + email
for dirpath, dirnames, filenames in os.walk(startdir):
fpath = dirpath.replace(startdir, '') # 这一句很重要,不replace的话,就从根目录开始复制
fpath = fpath and (fpath + os.sep) or '' # 这句话理解我也点郁闷,实现当前文件夹以及包含的所有文件的压缩
for filename in filenames:
f.write(os.path.join(dirpath,filename),fpath+filename)
f.close()


参考文档:https://www.cnblogs.com/pipihaoke/p/8033844.html


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM