用十六进制表格打印值



我一直遵循这个答案来打印数组作为一个漂亮的表。除了它以十进制形式打印值之外,它可以工作。我如何在十六进制中打印值?下面是代码:

from tabulate import tabulate
headers = ['array #', 'TX', 'RX']
tx_buffer = [0xCA, 0xFE, 0x80, 0x80, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00]
rx_buffer = [0]*54
idx = range(0, 54, 1)
table = zip(idx, tx_buffer, rx_buffer)
print("n")
print(tabulate(table, headers=headers))
print("n")

您可以使用hexformat

tx_buffer=[hex(i) for i in tx_buffer] 
or
tx_buffer=[format(i, '#x') for i in tx_buffer]

十六进制(x):

将整数转换为带前缀的小写十六进制字符串以"0 x">

格式(价值[,format_spec]):

将值转换为"格式化"的表示形式,由format_spec

输出:

array #  TX      RX
---------  ----  ----
0  0XCA     0
1  0XFE     0
2  0X80     0
3  0X80     0
4  0X0      0
5  0X0      0
6  0X0      0
7  0X0      0

最新更新