.tar是把文件打成一个包,并不压缩;
.gz是用gzip把打成包的.tar文件压缩,所以成了一个.tar.gz的文件。
安装的话,先解包,tar -zxvf python.tar.gz,这样会生成一个以文件名命名的文件夹。
有的文件直接这样解压即可,例如tomcat、eclipse
有的文件在解压之后的文件中 有运行的脚本文件,如:start.sh 运行即可
Python压缩ZIP文件:
import zipfilef = zipfile.ZipFile(target,'w',zipfile.ZIP_DEFLATED)
f.write(filename,file_url)
f.close()
其中target:是压缩后要保存的路径,可以是: 'C:/temp/'
ZIP_DEFLATED:表示压缩,还有一个参数:ZIP_STORE:表示只打包,不压缩。
这个Linux中的gz跟tar格式有点类似.
write方法如果只有一个参数filename的话,表示把你filename所带的路径全部压缩到zip文件中。如果带两个参数,表示把filename路径中的那个file压缩一下并且存放到file_url中,中间没有增加任何的文件夹。
如果要压缩很多的文件,循环的write就ok了, 最后close掉。
Python解压ZIP文件:
f = zipfile.ZipFile("zipfilePath",'r')for file in f.namelist():
f.extract(file,"temp/")
zipfilePath是压缩文件的路径
循环访问该压缩文件中的文件,并且一个一个file的解压到对应的"temp"文件夹中
可以使用 tarfile 模块在不解压的情况下查看压缩包里文件的大小,代码如下:
#coding=utf8import tarfile
import os
tar = tarfile.open('G:/test/abc.tar.gz', 'r:gz')
for ti in tar:
if ti.isreg():
print(ti.name, ti.size)