我正在尝试输出填充为0的十六进制整数并将其居中。
data = 10
我可以做一个或另一个:
'{:#04x}'.format(data) # my attempt at PADDING
'{:^#14x}'.format(data) # Centers Correctly
我不知道如何将两者结合 我想要的输出是:
0x0a # centered in a width of 14
答案 0 :(得分:2)
使用Python <3.6:
>>> '{:^14s}'.format('{:#04x}'.format(data))
' 0x0a '
带有f string的Python 3.6 +:
>>> '{:^14s}'.format(f'0x{data:02x}')
' 0x0a '
(可能abusively)可以缩短为:
>>> f'{f"0x{data:02x}":^14}'
' 0x0a '
也许更直接一点:
>>> f'{format(data, "#04x"):^14}'
' 0x0a '
答案 1 :(得分:1)
这有点难看,但效果很好:
'{:^14}'.format('{:#04x}'.format(data))