如何在字符串格式中对十六进制进行对齐

How to do alignment on hex in string formatting

有没有办法对齐字符串格式中的十六进制数字?我觉得它必须非常简单,我只是缺少格式。例如:

ones_comp = 72510
print (f"2. Ones comp: {ones_comp:#0x>12}")

我希望它打印如下内容:

2. Ones comp:       0x11b3e

你可以这样做:

print(f"2. Ones comp: {ones_comp:>12x}")

输出:

2. Ones comp:        11b3e

或者如果你真的想要 0x 前缀,请使用 hex 函数:

print(f"2. Ones comp: {hex(ones_comp):>12}")

输出:

2. Ones comp:      0x11b3e