传递要迭代的列表参数 -int 不可迭代
passing list argument to be iterated on -int not iterable
我有一个 python 函数需要将任意数量的字节写入总线:
def Writebytes(self,values):
for byte in values:
self.writebyte(byte)
我们的想法是将字节列表传递给它,然后将它们全部写入总线,例如
data=[0x10,0x33,0x14]
object.Writebytes(data)
我想支持不带 [ ] 的单字节写入,以便您可以输入:
data=0x00
object.Writebytes(data)
旨在简化使用。但是,您不能迭代传递给 Writebytes 的 int。有没有一种简单的方法可以强制输入始终是一个列表? (最好在函数定义中..)
在 Python 的第一周,所有这些可迭代的东西对我来说都是新的(实际上进展顺利,要归功于 python)。我主要在 RPi 上使用 Python3 顺便说一句..
非常感谢!
您始终可以使用 try except
语句
def Writebytes(self,values):
try:
for byte in values:
self.writebyte(byte)
except TypeError:
self.writebyte(values)
我有一个 python 函数需要将任意数量的字节写入总线:
def Writebytes(self,values):
for byte in values:
self.writebyte(byte)
我们的想法是将字节列表传递给它,然后将它们全部写入总线,例如
data=[0x10,0x33,0x14]
object.Writebytes(data)
我想支持不带 [ ] 的单字节写入,以便您可以输入:
data=0x00
object.Writebytes(data)
旨在简化使用。但是,您不能迭代传递给 Writebytes 的 int。有没有一种简单的方法可以强制输入始终是一个列表? (最好在函数定义中..)
在 Python 的第一周,所有这些可迭代的东西对我来说都是新的(实际上进展顺利,要归功于 python)。我主要在 RPi 上使用 Python3 顺便说一句..
非常感谢!
您始终可以使用 try except
语句
def Writebytes(self,values):
try:
for byte in values:
self.writebyte(byte)
except TypeError:
self.writebyte(values)