所以我从twitter获得一个提及列表,并且需要知道每个提及的索引。为此,我使用:
for idx, result in enumerate(mentions, start = 48):
message = result['text']
print idx, message
返回
48 " first message"
正如所料。但是,我需要将此索引用于某些需要将索引转换为十六进制的串行数据。所以..我用:
hidx = hex(idx)
然后返回0x30。但是我需要以“\ x30”的确切格式以某种方式得到这个结果,以便我可以使用序列来写:
serial.write("\x30")
实现这一目标的最佳方法是什么?如果我保持我的十六进制转换索引代码的方式,我得到那个讨厌的额外0和没有反斜杠导致串行代码实际写 serial.write(0x30),这不是我的需要。我希望找到一种方法,因为for循环,我会收到:
serial.write("\x30")
serial.write("\x31")
serial.write("\x32")
等。尽可能多的提及我需要。 有没有办法剥离第一个零并添加\?也许更好的方式?我是python和串口通信的新手,所以任何帮助都将非常感激。
答案 0 :(得分:1)
(假设Python 2)"\x30"
是一个1字节的字符串,所讨论的字节是ASCII代码48的字节:
>>> print repr('\x30')
'0'
所以,你需要做的就是发出它serial.write(chr(idx))
- 不需要捣乱十六进制!