如何对 ZipFile 类型的对象进行 base64 编码

How to base64 encode Object of type ZipFile

我有一个内存中的 zip 文件,我想将其转换为 base64 编码的 utf-8 字符串,供另一个函数解析下游。

文件创建如下

data = BytesIO()
zip = zipfile.ZipFile(data, 'w')
zip.writestr(test.csv, 'Hello world')
zip.close()
data.close()

b64zip = base64.b64encode(zip)

但是,当尝试对 zip 文件进行 base64 编码时,出现以下错误:

a bytes-like object is required, not 'ZipFile'

如何将此 ZipFile 对象转换为 base64 编码的字符串?

Zip 文件是字节编码的,所以使用:

zip = zipfile.ZipFile(data, 'rb')