将 hexlifyed 内容附加到文件

Appending hexlifyed content to file

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

以二进制模式打开文件以追加字节:

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 代码范围内,因此使用该编解码器进行解码是安全的。