Python fastest byte to string conversion
我需要将一个字节数组转换成一个字符串来发送到SPI设备。
有更有效的方法吗?
1 2 3 4
| def writebytes(bytes):
str =""
for i in bytes: str += chr(i)
self.spi.transfer(str) |
将"".join与生成器表达式一起使用。
1 2
| def writebytes(bytes):
self.spi.transfer("".join(chr(i) for i in bytes)) |
- 谢谢,行了
- 实际上,使用generator表达式比使用简单的"".join(map(char, bytes))慢,因为当传递generator表达式时,join必须对结果进行迭代,以获取输入的总长度,并将其保存供以后使用。传递列表时,元素将随时可用。