将包含字符的列表转换为字符串(Python)

0 python string list spi

我试图通过Raspberry Pi上的SPI端口读取刺痛.这是我测试端口的代码:

raw = 0
string = ""

SPI = spidev.SpiDev()
SPI.open(0,0)

while True:
    raw = SPI.xfer2([0])
    string += str(chr(raw))
    print string
    print raw
    time.sleep(0.2)
Run Code Online (Sandbox Code Playgroud)

结果是"Hell insert gibberish ",所以它在第四个字符后失败了.我尝试发送"Hello World!" 我发送的数据被格式化为列表中的字符,例如"Hello"看起来像[72,101,108,108,111].如何将其转换为字符串?

答案很有用,因为我不知道如何转换数据.然而真正的问题是我正在与之接口的设备.答案对于找到真正的问题非常有用,非常感谢!我仍然是python的新手,所以这些东西都有点麻烦.

Ash*_*ary 6

您可以使用bytearraystr.join使用chr():

>>> lst =  [72, 101, 108, 108, 111]
>>> str(bytearray(lst))
'Hello'
#or
>>> ''.join(chr(x) for x in lst)
'Hello'
Run Code Online (Sandbox Code Playgroud)