Python3.4使用余数作为字节
Python3.4.3声明字节类型不支持%。有人知道执行余数模的另一种方法吗 我正在查看用于LabJack设备的u3.py代码,并尝试将代码从Python2更新为Python3.4.3Python3.4使用余数作为字节,python,byte,Python,Byte,Python3.4.3声明字节类型不支持%。有人知道执行余数模的另一种方法吗 我正在查看用于LabJack设备的u3.py代码,并尝试将代码从Python2更新为Python3.4.3 def __init__(self, Dac, Value): self.dac = Dac self.value = Value self.cmdBytes = [ 38 + (Dac % 2), Value % 256, Value >> 8 ] 正确格式##d.g
def __init__(self, Dac, Value):
self.dac = Dac
self.value = Value
self.cmdBytes = [ 38 + (Dac % 2), Value % 256, Value >> 8 ]
正确格式##d.getFeedback(u3.DAC16(Dac=0,Value=0x5566))
Python2允许字节存储在文本字符串中,但在Python3中,字节是它们自己的类型。所以我把它们转换了
Python3.4.3使用以下方法生成b''数据
str.encode(str(十六进制(32768))
不幸的是,我从得到这个错误
类型错误:在字符串格式化过程中未转换所有字符串
对于这个错误,我认为Python3.4.3中的字节不支持%256
类型错误:不支持%:“bytes”和“int”的操作数类型
我不知道为什么%会说“int”不支持它,因为它显然在Python3.4.3中
我真的很感谢你的帮助。谢谢,这意味着,我认为,余数实际上是对数字的操作。字节是没有数字解释的存储 因此,如果要将数字转换为“存储”,应使用:
这意味着,我认为,余数实际上是对数字的运算。字节是没有数字解释的存储 因此,如果要将数字转换为“存储”,应使用:
你的问题没有意义……你不能对字符串(字节或其他)进行模化(你可以,但它是一个格式字符串)……我不知道为什么%会说“int”不支持它,因为它显然在Python3.4.3中。这并不是说int不能与
%
一起使用。它说%
不能在左操作数是字节而右操作数是int的情况下使用。你的问题没有意义…你不能对字符串(字节或其他)进行模化(你可以,但它是格式字符串)。。。“我不知道为什么%会说‘int’不受支持,因为它显然在Python3.4.3中。”这并不是说int不能与%
一起使用。它说当左操作数是字节,右操作数是int时,%
不能使用。
b'0x8000'
from struct import pack
def to_cmd(dac, value):
return pack("!ch", dac % 2, value) # a char and a 2 byte short