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
努力生活,融于自然