我正在尝试创建一个可能非常庞大的文件夹的zip归档文件。
为此,我使用 Python 的 zipfile 模块,但据我所见,没有选项将创建的归档文件拆分成多个大小不超过某个值的块。
压缩后的归档文件应通过 Telegram 发送,其大小限制为每个文件 1.5 GB。因此,我需要拆分生成的 zip 归档文件。
我真的很不想使用 subprocess 和 shell 命令来创建这个归档文件。
我的当前代码如下:
压缩后的归档文件应通过 Telegram 发送,其大小限制为每个文件 1.5 GB。因此,我需要拆分生成的 zip 归档文件。
我真的很不想使用 subprocess 和 shell 命令来创建这个归档文件。
我的当前代码如下:
def create_zip(archive_name, directory):
"""Create a zip file from given dir path."""
with ZipFile(archive_name, "w", ZIP_LZMA) as target_zip_file:
for root, _, files in os.walk(directory):
for file_to_zip in files:
absolute_path = os.path.join(root, file_to_zip)
zip_file_name = absolute_path[len(directory) + len(os.sep):]
target_zip_file.write(absolute_path, zip_file_name)
return target_zip_file
提前致谢