1

我的代码:

#Importing the urllib tool to my program
import urllib.request

#Fetch data from URL
response = urllib.request.urlopen('<URL>')

#Store that response into the variable below
taginfo = response.read()

#Tag info result of search for SSI values
taginforesult = taginfo

#print taginfo
print(taginfo)

以上在 Python Shell 中的结果是正确的,如下所示:

b'LOCATE00016331: tagid="00016331", taggroupid=LOCATE, tagtype=mantis04A, irlocator=null, motion=false, tamper=false, panic=false, lowbattery=false, locationzone="", gpsid="", lastgpsid="", lastgpsts=null, confidencebyrule={}\r\n(CarrierHQ_channel_A: reader=CarrierHQ, channel="A", ssi=-95)\r\n(CarrierHQ_channel_B: reader=CarrierHQ, channel="B", ssi=-99)\r\n\r\n\r\n'

我想知道的是:如何从上面的响应中只选择SSI=-95andSSI-99值,然后将它们插入到SSI-AandSSI-B变量中?

strip(),,,,findall()... search()

4

1 回答 1

1

这是一种奇怪的格式。但是你可以很容易地把它剪下来得到你想要的部分。

ssia = str(taginfo).split("\\r\\n")[1]
                   .strip("()")
                   .split(",")[-1]
                   .strip()
                   .split("=")[1]
assert ssia == '-95'

ssib = str(taginfo).split("\\r\\n")[2]
                   .strip("()")
                   .split(",")[-1]
                   .strip()
                   .split("=")[1]    
assert ssib == '-99'
于 2013-11-03T16:35:56.673 回答