1
likexian 2014-02-26 14:29:58 +08:00 1
fout = open("输出文件路径","wb")
img = x.photo.file.read() fout.write(img) |
3
sedgwickz OP @likexian 不好意思 是我的错 确实是你这么写的 但是我本地没有要输出的文件路径,如何在内存中建立一个对象呢?
|
4
est 2014-02-26 14:36:37 +08:00
fout.close()
|
5
lucifer9 2014-02-26 16:21:17 +08:00
tempfile.SpooledTemporaryFile ?
|
6
tonic 2014-02-26 17:01:02 +08:00
from cStringIO import StringIO?
|
7
lynx 2014-02-26 18:30:10 +08:00
python2: str, (c)StringIO.StringIO
python3: bytes, io.BytesIO 这些都可以 |
8
muzuiget 2014-02-26 20:25:47 +08:00
你没说清楚你的 Python 版本,假设你是 Python 2,Python 2 的字符串有两种类型
1. str 类型,这是默认的,就是 a = '中文',得到 '\xe4\xb8\xad\xe6\x96\x87' 2. unicode 类型,a = u'中文',得到 u'\u4e2d\u6587' 你所谓的「二进制数组」对象就是 str 类型的字符串。所以你的代码 img = x.photo.file.read(),img 不是你认为的「unicode流对象」,本来就是你想要的。 fout.write 接受的参数就是需要一个 str 类型的字符串,如果是 unicode 类型的字符串就会出错。 |