我有這樣的計劃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個字符。它可能返回的數據少於此數,並且需要考慮這一點。 –