本文介紹了strip()方法,split()方法, 字典的按鍵值訪問的方法,
1、Python strip() 方法用於移除字符串頭尾指定的字符(默認為空格)或字符序列。
注意:該方法只能刪除開頭或是結尾的字符,不能刪除中間部分的字符。
strip()方法語法:
str.strip([chars]);
參數
chars -- 移除字符串頭尾指定的字符序列。
返回值
返回移除字符串頭尾指定的字符序列生成的新字符串。
實例
以下實例展示了 strip() 函數的使用方法:
例1:
str = "*****this is **string** example....wow!!!*****"
print (str.strip( '*' )) # 指定字符串 *
運行輸出的結果:this is **string** example....wow!!! #從結果上看,可以注意到中間部分的字符並未刪除。
例2:
str = "123abcrunoob321"
print (str.strip( '12' )) # 字符序列為 12,只要頭尾包含有指定字符序列中的字符就刪除
輸出結果:3abcrunoob3
2、通過指定分隔符對字符串進行切片,如果參數 num 有指定值,則分隔 num+1 個子字符串
split() 方法語法:
str.split(str="", num=string.count(str))
參數:
- str -- 分隔符,默認為所有的空字符,包括空格、換行(\n)、制表符(\t)等。
- num -- 分割次數。默認為 -1, 即分隔所有。
返回值:返回分割后的字符串列表。
例1:
str = "Line1-abcdef \nLine2-abc \nLine4-abcd";
print(str.split( )) ; # 以空格為分隔符,包含 \n
print(str.split(' ', 1 )) ; # 以空格為分隔符,分隔成兩個
輸出:
['Line1-abcdef', 'Line2-abc', 'Line4-abcd'] ['Line1-abcdef', '\nLine2-abc \nLine4-abcd']
例2:
以 # 號為分隔符,指定第二個參數為 1,返回兩個參數列表
txt = "Google#Runoob#Taobao#Facebook"
x = txt.split("#", 1) print x # 第二個參數為 1,返回兩個參數列表
運行結果:
['Google', 'Runoob#Taobao#Facebook']
應用到目前編輯的腳本中,代碼中的一小部分如下:
if __name__ == '__main__':
creat = Task(serv_creat)
creat._execute()
# 按字典鍵值來訪問返回值,模擬代碼
creat._execute()
print(creat.record)
print(type((creat.record[8])))
creat_reponese = (creat.record[8])['response'] #這個地方采用字典類型按鍵值取值的方式
print(creat_reponese) #整串的值是這樣的:\r\n$MYNETACT: 0,1,"10.10.0.9"\r\n$MYNETACT: 1,0,"0.0.0.0"\r\n$MYNETACT: 2,0,"0.0.0.0"\r\n$MYNETACT: 3,0,"0.0.0.0"\r\n$MYNETACT: 4,0,"0.0.0.0"\r\n$MYNETACT: 5,0,"0.0.0.0"\r\nOK\r\n'
contens = (creat_reponese.strip('\r\nOK')).split('\r\n')
print(contens)
id = re.search(r'\d+',contens[0])
print(id.group(0)) # 獲取socket id
pattern =re.compile(r'"(\d+\.\d+\.\d+\.\d+)"') # 匹配IP地址
print(pattern.findall(contens[0])) # 獲取ip地址

