【发布时间】:2011-09-12 02:03:20
【问题描述】:
所以我有一个StringIO() 类似文件的对象,我正在尝试将它写入ZipFile(),但我得到了这个类型错误:
coercing to Unicode: need string or buffer, cStringIO.StringI found
这是我正在使用的代码示例:
file_like = StringIO()
archive = zipfile.ZipFile(file_like, 'w', zipfile.ZIP_DEFLATED)
# my_file is a StringIO object returned by a remote file storage server.
archive.write(my_file)
文档说 StringIO() 是一个类文件类,ZipFile() 可以接受一个类文件对象。有什么我想念的吗?任何帮助将不胜感激。
提前致谢!
【问题讨论】:
-
ZipFile.write()的参数是文件名。 -
刚找到这个;您的第二行是否有错字,还是您的实际代码?
ZipFile(file_file而不是ZipFile(file_like