难以用python编写.png文件
我正在尝试编写一个.png文件,用Python从web上检索该文件难以用python编写.png文件,python,encoding,bin,contextio,Python,Encoding,Bin,Contextio,我正在尝试编写一个.png文件,用Python从web上检索该文件 with open(fileName, 'w+') as f: f.write(data) “ascii”编解码器无法对位置0中的字符u'\ufffd'进行编码:序号不在范围内(128) 我尝试执行data.encode('utf-8'),但当我使用Python的magic来获取mime类型时,它会将其检测为.bin文件 有没有明确的方法来处理这个问题?这种情况有时会发生,有时不会 以下是更多信息: 您需要以二
with open(fileName, 'w+') as f:
f.write(data)
“ascii”编解码器无法对位置0中的字符u'\ufffd'进行编码:序号不在范围内(128)
我尝试执行data.encode('utf-8')
,但当我使用Python的magic来获取mime类型时,它会将其检测为.bin文件
有没有明确的方法来处理这个问题?这种情况有时会发生,有时不会
以下是更多信息:
您需要以二进制模式打开文件:
with open(fileName, 'wb') as f:
f.write(data)
这是必需的(在Windows上),但不一定足够。看起来OP从HTTP请求中接收的数据是
unicode
,这不可能是正确的,因为它不是文本数据,并且无法将其写入文件,除非他使用与数据编码完全相同的编码对其进行解码。我已经试过了。其他Python模块如何知道它是二进制的?我正在使用的是一个仅接受文件路径。您似乎正在以unicode
而不是str
(或Python3上的字节
)的形式从HTTP请求接收数据。这是错误的,因为二进制PNG数据不是文本,而unicode在二进制数据的上下文中没有任何意义。你能发布你用来从网上获取文件的代码吗?