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

 

posted @ 2021-06-03 15:36  坚强的小蚂蚁  阅读(1931)  评论(0编辑  收藏  举报