从存储为字符串的字节创建文件

时间:2016-05-28 13:31:19

标签: python python-3.x byte

我有一个用例,我从数据库中获取blob,我必须将其转换为二进制文件。 Python将其存储为字符串,尽管它实际上是字节。当我尝试写为二进制时,我得到一个类型错误,str不被接受。

我写了一些示例代码来重现变量的样子。我见过其他语言的示例代码,这个任务很简单。使用python 3帮助解决这个问题将不胜感激。这可能是我想念的一件非常简单的事情,我无法在网上找到答案。

import binascii

f = open('test.xlsx', 'rb')
content = binascii.hexlify(f.read())
f.close

output = content.decode("utf-8")

#output2 = hex(int(output, 16))

f = open('temp', 'wb')
f.write(output) #TypeError: a bytes-like object is required, not 'str' 
f.close()

#Convert back to type bytes and recreate the file

1 个答案:

答案 0 :(得分:0)

你可以写:

f.write(bytearray(output,"utf-8"))

而不是:

f.write(output) #TypeError: a bytes-like object is required, not 'str' 

解决问题。虽然它似乎不是最狡猾的方式。