想得到其中的port 6667的值
>>> message = '''{\r\n"success":"true",\r\n"statuscode":"200",\r\n"message":"register success",\r\n"ip":"192.168.0.2",\r\n"port":6667\r\n}\r\n'''
>>> print(message)
{
"success":"true",
"statuscode":"200",
"message":"register success",
"ip":"192.168.0.2",
"port":6667
}
>>> type(message)
<class 'str'>
import json
data = json.loads(message)
data['port']
用键的形式去拿
如果确保格式无误,可以试试这样
message = '''{\r\n"success":"true",\r\n"statuscode":"200",\r\n"message":"register success",\r\n"ip":"192.168.0.2",\r\n"port":6667\r\n}\r\n'''
dic = eval(message.strip("\r\n"))
print(dic['port'])
如果是获得python字符串中指定的值可以考虑下面三种方法:
使用split函数,输入代码a.split('_')[1],提取下划线后面的内容,回车得到结果。
使用index函数,输入代码ind = a.index('_'),a[:ind]提取字符串下划线前半段的内容,回车得到结果。
使用find函数,输入代码index = a.find('_'),a[ind+1:]提取下划线后面的文字,回车得到正确结果。
希望对题主有所帮助,可以的话,帮忙点个采纳!
exec("d=" + message )
print(d['port'])
import json
message = '{\r\n"success":"true",\r\n"statuscode":"200",\r\n"message":"register success",\r\n"ip":"192.168.0.2",\r\n"port":6667\r\n}\r\n'
message =json.loads(message) #将json串转换为字典
print(message['port'])
message['port'] = 666 #修改port的值
print(message['port'])