关于可能继承的方法的Python文档
我正在编写一个程序(python 3.5.2),它使用HTTPSConnection获取JSON对象作为响应。我使用了一些示例代码,但不确定方法来自何处。 我的问题是:在下面的代码中,“21.12.2.HTTPResponse对象”下的文档中不存在decode('utf-9')方法。我怎么知道“response.read()”方法的返回值中有“decode('utf-8')”方法 Python对象是从C#objects这样的基类继承的,还是我遗漏了什么关于可能继承的方法的Python文档,python,object,methods,Python,Object,Methods,我正在编写一个程序(python 3.5.2),它使用HTTPSConnection获取JSON对象作为响应。我使用了一些示例代码,但不确定方法来自何处。 我的问题是:在下面的代码中,“21.12.2.HTTPResponse对象”下的文档中不存在decode('utf-9')方法。我怎么知道“response.read()”方法的返回值中有“decode('utf-8')”方法 Python对象是从C#objects这样的基类继承的,还是我遗漏了什么 http = HTTPSConnectio
http = HTTPSConnection(get_hostname(token))
http.request('GET', uri_path, headers=get_authorization_header(token))
response = http.getresponse()
print(response.status, response.reason)
feed = json.loads(response.read().decode('utf-8'))
感谢您的帮助。response对象的
read
方法总是返回一个字节字符串(在Python 3中,我假设您在使用print函数时使用了该字符串)。字节字符串确实有一个解码方法,因此此代码应该没有问题。当然,它假设响应是以UTF-8编码的,这可能是正确的,也可能是错误的
[技术说明:电子邮件是一种很难处理的媒介:邮件可以由不同的部分组成,每个部分的编码都不同。至少在web流量中,您有机会阅读
内容类型标题的字符集属性以找到正确的编码]。HTTPResponse.read()
返回一个字节
对象-文档中对此不是很清楚,但实际上没有其他内容.decode()
是字节的一种方法,与HTTPResponse
没有任何连接。很明显,返回了字节
对象。谢谢!这就是原因。我当然希望文档中有某种我可以遵循的链接来获取这些信息,如果我将来不会遇到类似的情况,这会让我感到困惑。这段代码实际上来自Sharefile的API。我还有其他代码充当SMTP服务器,它将从我知道将发送何种附件的系统接收,因此我几乎只接受具有列表中存在的文件扩展名的部分。最后,我将用一些日志记录把它们结合起来。我猜您使用Python的时间还不够长,还没有理解交互式解释器的价值。能够尝试一些事情,查询返回值的类型,等等都能真正帮助您了解代码中发生了什么。“用泥铲编程”是一种非常有效的学习方法,但您可能希望更深入地研究该语言,以提高您的工作效率。哦,您可能希望查看库-它比http.client更易于使用。这是举例子的一个缺点——作者可能对Python不太精通,只需要一个“有效”的例子。谢谢,我过去做的大部分开发都是使用Perl。我对Python比较陌生,并且在学习的过程中不断学习。一、 不幸的是,我发现自己处于一个需要匆忙完成事情的位置,我的工作要求我戴很多帽子,并且限制了我如何专注于一个特定的主题。我不喜欢它,因为我没有接受过全面的教育,这有点令人沮丧。我会把重点放在交互式口译员上,因为我觉得它很有趣,但我现在肯定能看到它的价值。