def zip_to_file(file_path, destination):
fd, zip_filename = tempfile.mkstemp(suffix=".zip", dir=destination)
with zipfile.ZipFile(zip_filename, 'w', zipfile.ZIP_DEFLATED, allowZip64=True) as myzip:
if os.path.isdir(file_path):
abs_src = os.path.abspath(file_path)
for root, dirs, files in os.walk(file_path):
for current_file in files:
absname = os.path.abspath(os.path.join(root, current_file))
arcname = absname[len(abs_src) + 1:]
myzip.write(absname, arcname)
else:
myzip.write(file_path, file_path)
zip_info = ''.join(str(zipinfoi.CRC) for zipinfoi in myzip.infolist())
checksum = hex(binascii.crc32(zip_info) & 0xffffffff)
return zip_filename, checksum
评论列表
文章目录