2016-07-05 100 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