python 中的字节串到图像

shr*_*day 2 python image

我正在使用一个检索媒体的 API,但该 API 将媒体作为字节串返回...我想将字节串保存为图像。我该怎么做呢?

我试过这个:

data = *bytestring*

f = open('image.jpg','w')
f.write(str(data))
f.close()
Run Code Online (Sandbox Code Playgroud)

编译成功,但是当我检查 image.jpg 时...它是空的或“无法打开,因为它是未知格式”

Ant*_*ine 6

尝试:

f = open('image.jpg','wb')
f.write(data)
f.close()
Run Code Online (Sandbox Code Playgroud)

为什么?默认情况下,python 将其结尾的行转换为底层平台使用的内容(例如,在 Windows 上,它转换'\n''\n\r'),这会搞砸您的文件。

它始终将文件视为文本文件,除非您通过在 open() 中添加 'b' 选项来明确告知其二进制文件。如果您使用“b”选项,它将不会转换行结尾。

对于语法方面,最好这样写(即使出现异常,它也会关闭文件):

with open('image.jpg','wb') as f:
    f.write(data)
Run Code Online (Sandbox Code Playgroud)