2016-07-05 3 views
0

파이썬 목록에 스크립트는 다음과 같습니다 변환 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() 

가 그럼 난 내 맥북 프로에서 터미널을 사용 나는 다음과 같은 응답을 얻었다 :

{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

당신이 간단하지 print data 대신보다, 중괄호 및 출력에 u'...' 유니 코드 문자열 리터럴을 가지고 있지 후 :

제공한다
for key, value in data: 
    print '%s: %s' % (key, value) 

:

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

on output ("dict loading process"에 의해 승인되고 결정된 순서).

+0

도움 주셔서 감사합니다. 내 응답에서 중괄호와 "u"를 어떻게 제거 할 수 있는지 알고 있습니까? – jayjameson

+0

당신의 응답은 파이썬 dict에 저장되어 있습니다 (따라서 중괄호). 파이썬 v2이므로 문자열 리터럴은 유니 코드 문자를 포함 할 수 있습니다 (따라서'u '...' '와''.. . "). 보통 str 타입은 바이트를 저장한다. Python v3를 사용하면 "문자열"이 통합되어 일반 바이트와 더 구분됩니다 (연관된 "의미", 즉 "인코딩"없음). tl; dr : "이러한 것들을 제거하는 것"은 그것들을 "장식하지"않고 사용 된 컨테이너의 내용을 풀고 내용의 "의미"는 그대로두고 다른 모양/형식으로 직렬화/인코딩합니다. – Dilettant

+0

간단히 말해서, 나는 파이썬 기본 유형과 특히 파이썬 유니 코드 하우투 읽기 연습이 다음 단계의 훌륭한 시리즈가 될 것이라는 점을 이해한다. – Dilettant