Python 打印二进制数的格式

Python print formatting of binary number

我有一个二进制数需要打印,包括前导零。到目前为止,我用:

print("CRC -> {:08b}".format(crc)

但是这个crc可以有不同的大小。我想要实现的是一个打印语句,而不是 :08b 会像

这样的单独长度

crc_len = (len(hex(crc))-2)*4

但是我的印刷品需要怎样看,我怎样才能根据 crc_len 进行条件格式化?

您可以先准备格式字符串(因为它毕竟只是一个字符串),然后用它来格式化 CRC:

crc = 23534
format = "CRC -> {{:0{:d}b}}".format((len(hex(crc)) - 2)*4)
#'CRC -> {:016b}'
format.format(crc)
#'CRC -> 0101101111101110'