Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
关于可能继承的方法的Python文档_Python_Object_Methods - Fatal编程技术网

关于可能继承的方法的Python文档

关于可能继承的方法的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

我正在编写一个程序(python 3.5.2),它使用HTTPSConnection获取JSON对象作为响应。我使用了一些示例代码,但不确定方法来自何处。 我的问题是:在下面的代码中,“21.12.2.HTTPResponse对象”下的文档中不存在decode('utf-9')方法。我怎么知道“response.read()”方法的返回值中有“decode('utf-8')”方法

Python对象是从C#objects这样的基类继承的,还是我遗漏了什么

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比较陌生,并且在学习的过程中不断学习。一、 不幸的是,我发现自己处于一个需要匆忙完成事情的位置,我的工作要求我戴很多帽子,并且限制了我如何专注于一个特定的主题。我不喜欢它,因为我没有接受过全面的教育,这有点令人沮丧。我会把重点放在交互式口译员上,因为我觉得它很有趣,但我现在肯定能看到它的价值。