file_1 = ('test.png')
with open(file_1, 'rb') as b:
file_hex = b.read()
binascii.hexlify(file_hex)
file_1_size = len(file_hex)
print (file_1_size)
file_new = open("test.tp", "a")
file_new.write(binascii.hexlify(file_hex))
file_new.close()
我一直试图将这个通知内容附加到文件中。我甚至尝试将hexlifyed内容应用于自己的变量。像这样,
file_1 = ('test.png')
with open(file_1, 'rb') as b:
file_hex = b.read()
x = binascii.hexlify(file_hex)
file_1_size = len(file_hex)
print (file_1_size)
file_new = open("test.tp", "a")
file_new.write(x)
file_new.close()
两者都以错误结束
TypeError: must be str, not bytes
答案 0 :(得分:1)
以二进制模式打开文件以附加字节:
with open("test.tp", "ab") as file_new:
file_new.write(x)
或首先将字节解码为字符串:
with open("test.tp", "a") as file_new:
file_new.write(x.decode('ascii')
十六进制数字属于ASCII码范围,因此使用该编解码器进行解码是安全的。