-1
我想從AT命令的輸出中讀取兩行並在python中執行INSERT INTO TABLE VALUES。 AT的輸出總是在兩行中,但它是一個序列,與打開的文件不同,讀取它直到下一個限制器,但我們必須等待。從AT命令的輸出中讀取(兩行或更多行)並將其寫入數據庫
反正這是我的代碼:
class SMSWait(self):
def run(self):
self.open()
while self.ser.isOpen():
time.sleep(1)
SMSRead = 'AT+CMGL="ALL"\r\n'
self.SendCommand(SMSRead, getline=True)
while self.ser.inWaiting() > 0:
**data = self.ser.readall()
print data**
def open(self):
self.ser = serial.Serial('/dev/ttyUSB0', baudrate=115200, timeout=.1, rtscts=0)
self.SendCommand('AT\r')
self.SendCommand('AT+CMGF=1\r')
self.ser.flushInput()
self.ser.flushOutput()
def SendCommand(self,command, getline=True):
self.ser.write(command)
data = ''
if getline:
data = self.ReadLine()
data = filter(None, data)
return data
def ReadLine(self):
data = self.ser.readline()
return data
它會顯示輸出:
AT+CMGL="ALL"
+CMGL: 2,"REC READ","+60xxxxxxxxx",,"15/02/05,14:13:47+28"
mydata43414242453564567578689789done
OK
現在
,我要如何處理這個 「序」 的輸出,而忽略AT + CMGL =「ALL 「和」確定「,並在一個查詢中使用」插入「將它們放入數據庫。我沒有使用python訪問數據庫的問題。和我正確的正則表達式。也許有人可以幫助我邏輯或腳本。謝謝
處理來自列表值一個數據?忽略AT + CMGL =「ALL」和「OK」 – 2015-02-08 15:25:07