【发布时间】:2017-02-17 15:03:37
【问题描述】:
我的目标是从 Zip 存档中提取某些文件并将它们直接流式传输到另一个 Zip,而无需执行中间提取到磁盘。
到目前为止我有:
from zipfile import ZipFile, ZIP_DEFLATED
def stream_conents(src_zip, dst_zip, file_subset_list):
with ZipFile(src_zip, "r", compression=ZIP_DEFLATED) as src_zip_archive:
with ZipFile(dst_zip, "w", compression=ZIP_DEFLATED) as dst_zip_archive:
for zitem in src_zip_archive.namelist():
if zitem in file_subset_list:
zitem_object = src_zip_archive.open(zitem)
dst_zip_archive.write(zitem_object, zitem, )
但它只是抛出TypeError: argument should be string, bytes or integer, not ZipExtFile
【问题讨论】:
-
你不能只复制压缩文件吗?
-
@Okx 不,因为我只想从
file_subset_list提取/流式传输 某些 文件
标签: python python-3.x archive zipfile