2
私の目標は、Zipアーカイブから特定のファイルを抽出し、ディスクへの中間抽出をせずに別のZipに直接ストリーミングすることです。ZIPファイルを別の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
zipファイルをコピーできません。 – Okx
@Okx no、 'file_subset_list'から_certain_ファイルのみを抽出/ストリームしたいので – Vasily