1
我正在写一个python脚本,用于打开文件并读取两个字符的字符串值,例如32或6f。然后应该将该值作为单个字节写入二进制文件,例如十六进制。 0x32或0x6f。Python - 将一个双字节字符串作为单字节十六进制字符写入二进制文件
file_in = open('32.xml')
file_contents = file_in.read()
file_in.close()
file_out = open('testfile', 'wb')
file_out.write(file_contents)
file_out.close()
在这个例子中,32.xml是一个纯文本文件,其中包含字符串'32'。但是测试文件输出文件的内容是'32'而不是0x32(或者只是2)。
我试过写命令的各种变化。我尝试了chr()函数,但需要将字符串转换为int。
file_out.write(chr(int(file_contents)))
这最终写了字符串的十六进制值,而不是我想要的。只要你有一个包含a-f的值,它也会失败。
我也试过
file_out.write('\x' + file_contents)
但Python解释器不喜欢那个。
这是辉煌的,正是我试图做的。感谢您的快速解决方案。 –