Python3.4使用余数作为字节

Python3.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

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.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