如何将二进制文件打印为字节?

h__*_*h__ 6 python byte python-3.x

我做了

>>> b0 = open('file','rb')
Run Code Online (Sandbox Code Playgroud)

然后

>>> b0.read(10)
Run Code Online (Sandbox Code Playgroud)

b'\xb8\xaaK\x1e^J)\xab_I'
Run Code Online (Sandbox Code Playgroud)

如何将所有内容打印为纯十六进制字节?我想要

b'\xb8\xaa\x4b\x1e\x5e\x4a\x29\xab\x5f\x49'
Run Code Online (Sandbox Code Playgroud)

(PS:可以打印漂亮吗?

B8 AA 4B 1E 5E 4A 29 AB 5F 49
Run Code Online (Sandbox Code Playgroud)

或冒号分隔。)

NPE*_*NPE 6

>>> s = b'\xb8\xaaK\x1e^J)\xab_I'
>>> ' '.join('{:02X}'.format(c) for c in s)
'B8 AA 4B 1E 5E 4A 29 AB 5F 49'
Run Code Online (Sandbox Code Playgroud)

或者,更简洁一点:

>>> ' '.join(map('{:02X}'.format, s))
'B8 AA 4B 1E 5E 4A 29 AB 5F 49'
Run Code Online (Sandbox Code Playgroud)