1.shutil.make_archive() 实际上是调用了两个模块来实现压缩打包的功能。
zipfile和tarfile两个模块,shutil的两个封装的模块。
zip是压缩文件,文件内存会变小,tar是打包文件,文件内存不会变。
如下所示:
zipfile模块
# import zipfile # # z = zipfile.ZipFile('5_zip','w') #压缩后的文件名‘5_zip’ # # z.write('5') # # z.close() # z = zipfile.ZipFile('5_zip','r') # # z.extractall() #解压压缩的文件 # # z.close()
tarfile模块
# import tarfile # # tar = tarfile.open('your.tar','w') #打包文件 # # tar.add(路径,arcname = 目录或文件名) #如果不加arcname,系统会帮你打包文件所在的所有目录,加了arcname系统只会打包这一个目录或文件。 # # tar.close() # # tar = tarfile.open('your.tar','r') #解压文件 # # tar.extractall() # # tar.close()