【问题标题】:Why do I get error AttributeError: 'Response' object has no attribute 'get' in Python2.7?为什么在 Python2.7 中出现错误 AttributeError: 'Response' object has no attribute 'get'?
【发布时间】:2019-02-09 01:53:45
【问题描述】:

我收到错误 AttributeError: 'Response' 对象对于我编写的以下代码没有属性'get'

def convert_json(self,bucket,userid,imgfilename,field,i):

    bucketName = bucket
    link = "users_"+str(userid)+'/'+imgfilename
    c = S3Connection(self.AWS_ACCESS_KEY_ID,self.AWS_ACCESS_KEY_SECRET)
    p = c.generate_url(expires_in=long(7200),method='GET',bucket=bucketName,key=link,query_auth=True,force_http=False)  
    post_url = "http://someurl"
    wrapper = {"filename":p}
    try:
        response = requests.post(post_url, json=wrapper)
        print response
        if response.status_code == 200:
            text = response.get('description', [])
        else:
            text = []
    except Exception:
        if response.status_code == 200:
            text = response.get('description', [])
        else:
            text = []
    return text

【问题讨论】:

    标签: python-2.7 attributeerror


    【解决方案1】:

    对象不是字典,所以不能使用get。您可能会通过以下任一方式找到您需要的:

    • r.status_code
    • r.content
    • r.text
    • r.json()

    引用requestspage上给出的例子:

    >>> import requests
    >>> r = requests.get('https://api.github.com/user', auth=('user', 'pass'))
    >>> r.status_code
    200
    >>> r.headers['content-type']
    'application/json; charset=utf8'
    >>> r.encoding
    'utf-8'
    >>> r.text
    u'{"type":"User"...'
    >>> r.json()
    {u'disk_usage': 368627, u'private_gists': 484, ...}
    

    【讨论】:

      【解决方案2】:

      假设您使用的是Requests 库,则Response 对象没有get 方法。

      给出的链接解释了Response对象的属性和方法。

      如果您想阅读响应,您应该查看contentjsontext 的实际数据。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-01-16
        • 2020-05-26
        • 2023-02-18
        • 2020-04-02
        • 2022-06-14
        • 1970-01-01
        相关资源
        最近更新 更多