以正确的方式编写十六进制(python)

以正确的方式编写十六进制(python),python,hex,Python,Hex,我有一个二进制文件要读取,我想以十六进制的正确形式显示结果。 守则如下: file=open('myfile.chn', 'rb') while 1: b=fic.readline(1) print(b) file.close() 结果如下: b'\xff' b'\xff' b'\x01' b'\x00' . . 我可以做什么来更改结果,如下所示: FF FF 01 00 . . 将返回字符串'FF'

我有一个二进制文件要读取,我想以十六进制的正确形式显示结果。 守则如下:

file=open('myfile.chn', 'rb')   
while 1:  

        b=fic.readline(1)
        print(b)
file.close()
结果如下:

b'\xff'  
b'\xff'  
b'\x01'  
b'\x00'  
.  
.  
我可以做什么来更改结果,如下所示:

FF  
FF  
01  
00  
.  
.
将返回字符串
'FF'


将返回字符串
'FF'

,以满足您维护前导零的要求:

>>> import binascii
>>> binascii.hexlify(b'\x0f').decode().upper()
'0F'
也适用于一行中的多个字节:

>>> binascii.hexlify(b'\xff\x01\x00\xaf').decode().upper()
'FF0100AF'

要满足您维护前导零的要求,请执行以下操作:

>>> import binascii
>>> binascii.hexlify(b'\x0f').decode().upper()
'0F'
也适用于一行中的多个字节:

>>> binascii.hexlify(b'\xff\x01\x00\xaf').decode().upper()
'FF0100AF'

如果我想保持1前面的0,我该怎么做?例如,我得到的是1而不是01。如果我想保持1前面的0,我该怎么做?例如,我得到1而不是01。