-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