我正在通過python與串行端口進行通信。我通過了一個AT命令來列出電話簿。現在我需要取得我收到的電話號碼。我如何通過python獲取特定的數字。通過python獲取數字
+CMGR: "REC READ","+911234567890",,"13/05/31,10:00:14+22"
我正在通過python與串行端口進行通信。我通過了一個AT命令來列出電話簿。現在我需要取得我收到的電話號碼。我如何通過python獲取特定的數字。通過python獲取數字
+CMGR: "REC READ","+911234567890",,"13/05/31,10:00:14+22"
這樣的事情?
>>> import re
>>> strs = '+CMGR: "REC READ","+911234567890",,"13/05/31,10:00:14+22'
>>> re.search(r'"(\+91\d+)"', strs).group(1)
'+911234567890'
>>>
進口串行 從詛咒導入ASCII 進口重新 SER = serial.Serial( '的/ dev/ttyUSB0',9600,超時= 3) 響應= ser.write( 'AT + CMGR = 3 \ r \ N' ) re.search(R ' 「(\ + 91 \ d +)」',響應)。集團(1) 這不是工作要麼 –
如果該號碼始終是第n個字段,則:
s = '+CMGR: "REC READ","+911234567890",,"13/05/31,10:00:14+22"'
import csv
print next(csv.reader([s]))[1]
# +911234567890
進口串行 從詛咒導入ASCII SER = serial.Serial( '/ dev/ttyUSB0',9600,timeout = 3) response = ser.write('AT + CMGR = 3 \ r \ n') import csv print next(csv.reader([response]))[1 ] 這不起作用。 –
通過 「抓取」 你的意思是 「分析」? – 2013-06-03 07:02:35
在打印輸出時獲取。 –