如何将 python 中的十进制值转换为二进制值?

How can I convert decimal to binary values in python?

我是 python 的新手,我开发了一个函数,当代码函数等于 1 时检索十进制值并将它们转换为二进制值,但问题是它 returns一个空列表,而列表包含一个值。我必须要一份完整的清单

函数如下:

def coil_val_list(s):
    v = []
    r = []
    i = []
    for p in s:
        if p.haslayer('ModbusADUResponse'):
            try:
                if p['ModbusADUResponse'][1].funcCode == 1:
                    # r = reg_val_list_binary(s)
                    r = v.extend(p['ModbusADUResponse'][1].coilStatus)
                    for i in r:
                        if i == 1:
                            v.extend([1,0,0])
                        else:
                            v += [int(bit)
                    for bit in str( bin(i) )[2:].zfill(8)] [::-1]
            except AttributeError:
                pass
    return v 

这是将十进制数转换为二进制数的方法。

binary_number = '0:05b'.format(int(decimal))

或者如果 decimal_number 不在字符串中则直接执行此操作。

binary_number = '0:05b'.format(decimal)

'0:05b',冒号前的零连接零,例如,如果有 5 个位数,则 5 = 01001 的二进制,但在冒号前写零给出 1001。和冒号后的 05 描述您想要的位数。