zip 已在 python 中打开文件
zip already opened files in python
我想压缩 python 中打开的文件列表。 ZipFile 和 shutil 等库只有在您指定文件路径时才能压缩文件,而不是给它们文件本身。我想避免像保存每个文件并使用 ZipFile 或 shutil 读取它这样的解决方法,因为有些文件可能非常大,这会很耗时。
使用 ZipFile.writestr
似乎可以实现这一点(另请参阅 documentation)
from zipfile import ZipFile
with ZipFile('spam.zip', 'w') as myzip:
myzip.writestr('test.txt', 'test')
zip_file = ZipFile('spam.zip', 'r')
zip_file.namelist()
['test.txt']
从源代码来看,它似乎没有保存到临时文件,而是直接写入 zip 存档。
我想压缩 python 中打开的文件列表。 ZipFile 和 shutil 等库只有在您指定文件路径时才能压缩文件,而不是给它们文件本身。我想避免像保存每个文件并使用 ZipFile 或 shutil 读取它这样的解决方法,因为有些文件可能非常大,这会很耗时。
使用 ZipFile.writestr
似乎可以实现这一点(另请参阅 documentation)
from zipfile import ZipFile
with ZipFile('spam.zip', 'w') as myzip:
myzip.writestr('test.txt', 'test')
zip_file = ZipFile('spam.zip', 'r')
zip_file.namelist()
['test.txt']
从源代码来看,它似乎没有保存到临时文件,而是直接写入 zip 存档。