python压缩文件夹到指定位置


 

压缩/root/mongo文件夹到/tmp目录下,压缩包名字为archive.zip, 在mongo目录下只有一个1.txt文件

import zipfile
import os


f = zipfile.ZipFile('/tmp/archive.zip','w',zipfile.ZIP_DEFLATED)
dirpath = "/root/mongo"
for path, dirnames, filenames in os.walk(dirpath):
    # 去掉目标根路径,只对目标文件夹下边的文件及文件夹进行压缩
    fpath= path.replace(dirpath,'') 
    for filename in filenames:
        f.write(os.path.join(path, filename), os.path.join(fpath, filename))
    f.close()

 

说明:f.write()将需要压缩的文件 写入刚创建的zip对象f中   

os.path.join(path, filename)   的值为/root/mongo/1.txt   第一个参数表示要把哪个文件存到压缩包中

os.path.join(fpath, filename)的值为1.txt   第二个参数表示压缩文件存的文件层级,加上这个参数解压后为1.txt文件;如果不写这个参数,解压后是一个文件夹root

 

os.walk详解:https://zhuanlan.zhihu.com/p/149824829

 

 

参考

https://blog.csdn.net/qq_28827635/article/details/92999111

https://www.cnblogs.com/yhleng/p/9407946.html

https://www.cnblogs.com/hellojesson/p/9293952.html

 


免责声明!

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



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