我想从AT命令的输出中读取两行代码,并在python中插入表值。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
它将显示输出:
^{pr2}$现在,我如何处理这个“sequence”输出,忽略AT+CMGL=“ALL”和“OK”,并在一个查询中使用“insert into”将它们放入数据库。我对使用python访问数据库没有问题。我对regex没意见。也许有人可以帮我逻辑上或脚本。谢谢你
我明白了。似乎我必须把所有这些行放入一个列表中并对其进行排序,然后将这2行缩减为1行。看看吧
^{1}$然后从这里开始逐个处理列表值中的数据
^{pr2}$相关问题 更多 >
编程相关推荐