【发布时间】:2020-09-18 23:24:11
【问题描述】:
我是 python 新手,我开发了一个函数,当代码函数等于 1 时检索十进制值并将它们转换为二进制值,但问题是它返回一个空列表,而列表包含一个值。我必须得到一个完整的列表
函数如下:
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
【问题讨论】:
-
bin(15)可能有帮助吗? -
不,它不起作用。 bin() 或 encode() 都不起作用
-
详细说明,什么行不通?
-
我使用了 v+= bin(p['ModbusADUResponse'][1].coilStatus) 和 v+= str(p['ModbusADUResponse'][1].coilStatus).encode() 但我得到了一个空列表
-
v += [bin(...)]在您向列表中添加列表时。
标签: python list binary decimal data-conversion