壓縮/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