2016-07-05 126 views
0

我写了一个Python API请求通话清单,脚本是这样的:转换API请求响应蟒蛇

import requests 
from requests_oauthlib import OAuth1 
import json 

def PULL(): 
    url = "someURL" 
    ConsumerKey = "someKey" 
    ConsumerSecret = "someSecret" 
    Token = "someToken" 
    TokenSecret = "someToken" 

    auth = OAuth1(ConsumerKey, ConsumerSecret, Token, TokenSecret) 
    r = requests.request("GET", url, auth=auth) 
    data = r.json() 
    print data 

PULL() 

然后我用的码头上我的MacBook Pro,我得到了如下回应:

{u'watermarked': 0, u'orientation': u'landscape', u'datePublished': u'2016-05-25T13:49:30Z', u'extension': [u'jpeg']} 

如何将它变成一个列表,使数据看起来像这样?

watermarked: 0 
orientation: landscape 
datePublished: 2016-05-25T13:49:30Z 
extension: jpeg 

回答

0

当你没有大括号及产出u'...' Unicode字符串,比根本就没有print data而是经过:

for key, value in data: 
    print '%s: %s' % (key, value) 

这应该给:

watermarked: 0 
orientation: landscape 
datePublished: 2016-05-25T13:49:30Z 
extension: jpeg 

关于输出(由“字典加载过程”确定的顺序)。

+0

谢谢你的帮助。你知道我如何从我的回答中删除花括号和“你”吗? – jayjameson

+0

你的回应是存储在python dict中的东西(因此是花括号),因为这是Python v2,所以这里的字符串文字能够容纳Unicode字符(因此''u'...''与''相比较。 .'')。而通常的str类型保存字节。当使用Python v3时,“字符串”已经统一,并且与纯字节分开(没有关联的“含义”即“编码”)。 tl; dr:“去除这些东西”并不是“不装饰”它们,而是拆开使用过的容器的内容,使内容的“含义”完好无损,并将它们序列化/编码为不同的形状/格式。 – Dilettant

+0

简而言之:我从这个问题中了解到,一些Python基本类型的练习,特别是python unicode howto阅读将是一系列接下来的一系列步骤。 – Dilettant