python打包資料夾的方法tar zip

2021-10-08 12:09:43 字數 1322 閱讀 3639

import os, zipfile

defmake_zip

(source_dir, output_filename)

: zipf = zipfile.zipfile(output_filename,

'w')

pre_len =

len(os.path.dirname(source_dir)

)for parent, dirnames, filenames in os.walk(source_dir)

:for filename in filenames:

pathfile = os.path.join(parent, filename)

arcname = pathfile[pre_len:

].strip(os.path.sep)

#相對路徑

zipf.write(pathfile, arcname)

zipf.close(

)

import os, tarfile

#如果只打包不壓縮,將"w:gz"引數改為"w:"或"w"即可。

defmake_targz

(output_filename, source_dir)

:with tarfile.

open

(output_filename,

"w:gz"

)as tar:

tar.add(source_dir, arcname=os.path.basename(source_dir)

)#逐個新增檔案打包,未打包空子目錄。可過濾檔案。

#如果只打包不壓縮,將"w:gz"引數改為"w:"或"w"即可。

defmake_targz_one_by_one

(output_filename, source_dir)

: tar = tarfile.

open

(output_filename,

"w:gz"

)for root,

dir,files in os.walk(source_dir)

:for

file

in files:

pathfile = os.path.join(root,

file

) tar.add(pathfile)

tar.close(

)

壓縮本地資料夾測試;

zip壓縮耗時0.12秒;

tar壓縮耗時0.14秒;

tar.gz 壓縮耗時 0.88秒;

資料僅供引數。

php打包資料夾

php自帶ziparchive 類,打包就靠這個了。最簡單的就是打包單檔案而非資料夾,先從簡單的來。先確保zip擴充套件已載入,確保打包的原始檔 夾 存在,否則退出 if extension loaded zip file exists source zip new ziparchive if zi...

Linux下壓縮某個資料夾(資料夾打包)

tar zcvf home xahot.tar.gz xahot tar zcvf 打包後生成的檔名全路徑 要打包的目錄 例子 把 xahot資料夾打包後生成乙個 home xahot.tar.gz的檔案。zip 壓縮方法 壓縮當前的資料夾 zip r xahot.zip r表示遞迴 zip 引數 ...

LINUX下壓縮某個資料夾(資料夾打包)

tar zcvf home xahot.tar.gz xahot tar zcvf 打包後生成的檔名全路徑 要打包的目錄 例子 把 xahot資料夾打包後生成乙個 home xahot.tar.gz的檔案。zip 壓縮方法 壓縮當前的資料夾 zip r xahot.zip r表示遞迴 zip 引數 ...