压缩文件夹:
使用zipfile模块
def get_zip_file(input_path, files):
temp_files = os.listdir(input_path)
for file in temp_files:
if os.path.isdir(input_path + '/' + file):
self.get_zip_file(input_path + '/' + file, files)
else:
files.append(input_path + '/' + file)
def zip_folder(src, dst, output_filename):
f = zipfile.ZipFile(dst + '/' + output_filename, 'w', zipfile.ZIP_DEFLATED)
files = []
self.get_zip_file(src, files)
for file in files:
f.write(file)
f.close()
return dst + r"/" + output_filename
使用shutil模块
root_dir 是要被压缩的文件夹
format 是 要压缩的格式,可以是zip或tar
base_name 是压缩后的路径 + 文件名,不需要带格式后缀
shutil.make_archive(
base_name = "E:\\test_result",
format='tar',
root_dir= 'E:\\test'
)
解压缩文件
使用shutil模块
filename 是要解压缩的路径 + 文件
extract_dir 是要解压到的位置,如果不写则默认为当前路径
shutil.unpack_archive(
filename = 'E:\\test.tar',
extract_dir = "E:\\test_new")