Python ZipFile API似乎允许传递文件路径ZipFile.write或字节字符串,ZipFile.writestr但两者之间没有任何内容.我希望能够传递像object这样的文件,在这种情况下是django.core.files.storage.DefaultStorage原则上任何类似文件的对象.目前我认为我将不得不将文件保存到磁盘,或将其读入内存.这些都不是完美的.
你是对的,这是唯一的两个选择.如果您的DefaultStorage对象很大,您可能希望先将其保存到磁盘; 否则,我会用:
zipped = ZipFile(...)
zipped.writestr('archive_name', default_storage_object.read())
Run Code Online (Sandbox Code Playgroud)
如果default_storage_object是StringIO对象,则可以使用default_storage_object.getvalue().
| 归档时间: |
|
| 查看次数: |
1462 次 |
| 最近记录: |