我一直遵循这个答案来打印数组作为一个漂亮的表。除了它以十进制形式打印值之外,它可以工作。我如何在十六进制中打印值?下面是代码:
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")
您可以使用hex
或format
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