我有这样的计划python脚本,如何从变量取数据串并写入文件
import serial
import time
port = serial.Serial("/dev/ttyAMA0", baudrate=600, timeout= 3.0)
while True:
rcv = port.read(5)
value = (rcv)
myString = str(value)
b = open("/var/www/lampu1.txt","a")
b.write(myString[1])
b.close()
该程序可以从串行接收数据,所有数据将被保存到文件“lampu1.txt”。 我只想从数据中接收1个字符串数据并写入文件。 例如: 数据接收= 89435, 如何我可以采取字符串数据,例如如果我想采取字符串数据[2] = 9并写入文件“lampu1.txt”。 ,因为当我执行这个程序发生错误。 这个错误发生在终端上。
Traceback (most recent call last):
File "terima.py", line 11, in <module>
b.write(myString[1])
IndexError: string index out of range
任何人都可以帮我解决这个问题,,, 谢谢。
请修复代码中的缩进级别 – inspectorG4dget
为什么要编写'myString [1]'而不仅仅是'myString'? – wflynny
'.read(5)'可以返回* 5个字符。它可能返回的数据少于此数,并且需要考虑这一点。 –