在蟒蛇的Pushover Acknowlage

时间:2015-10-17 23:44:34

标签: python regex python-2.7 pushover

我有一些问题试图让ackknowalgemtns使用python。

到目前为止,我的代码发布了消息并获得了JSON sting作为回报,但现在我需要一种方法来从字符串中获取收据

import requests
app_token = 'app token'
user_token = 'user token'
title = 'TEST MESSGAE'
text = 'text for polling'
params = {
            'token': app_token,
            'user': user_token,
            'title': title,
            'message': text,
            'retry': 30, 
            'expire': 180,
            'priority': 2,
            'sound': 'siren',
        }
msg = requests.post('https://api.pushover.net/1/messages.json', data=params)
print "POSTed message"
print msg.json()

输出

POSTed message
{u'status': 1, u'receipt': u'riD7NEukZsiDQpjhiNppphYnpue8uK', u'request': u'ef5f42d568e966cbf3d2b28c6579397c'}

该参数是区分大小写的30个字符的字符串,包含字符集[A-Za-z0-9]。 这会是一项REGEX工作吗?

1 个答案:

答案 0 :(得分:3)

因为它是json类型,所以你可以使用json模块将数据加载为dict。例如,如果你有一些json  像这样的数据:

'{"message":"Hello there, wayfaring stranger"}'

然后您可以使用json.loads()函数将其加载为dict,如下所示:

>>> a = '{"message":"Hello there, wayfaring stranger"}'
>>> import json
>>> d = json.loads(a)
>>> d.items()
dict_items([('message', 'Hello there, wayfaring stranger')])
>>> 

如您所见,a是字符串,但d是字典。现在,'Hello there, wayfaring stranger'是键'message'的值。

但是msg.json() can auto covert the json data to dict,所以你不需要这里的json模块。因此,如果您想获得'ef5f42d568e966cbf3d2b28c6579397c',您可以执行以下操作:

json_data = msg.json()
print json_data['request']