这里真正的问题是您使用的是非常旧版本的文档。我不知道你是如何找到它的,但从 URL http://docs.python.org/3.0/library/urllib.request.html和该页面顶部的标题(“Python v3.0.1 文档”),等等,您没有查看您的版本的文档。*
如果您正在查看3.3 文档,您会看到:
对于 http 和 https url,此函数返回一个http.client.HTTPResponse对象,该对象具有以下HTTPResponse 对象方法。
第一个链接将您带到确切类的引用,第二个链接将您带到抽象类型的引用。它为您提供了您正在寻找的东西——read
方法,以及其他一切。
在旧版本的 Python 中,术语“类文件对象”被随意地抛出。这总是一个模糊的术语(有时它的意思是“一个可迭代的行”、“有一个read()
和/或write()
适当的”、“有一个fileno()
”、……),在 Python 3 中变得更加如此(因为你必须区分一个来自文本文件的二进制文件)。因此,多年来,他们已经逐步淘汰了这一点,以支持更具体的文档。但是,如果您正在查看最早的 Python 3 文档,您并没有从中受益。
* 请注意,如果您访问任何最新版本的文档,例如上面链接的 3.3,标题中有一个下拉菜单,如果您发现错误的版本,您可以切换到其他版本。而且,默认值始终是 2.7 或最新的稳定版 3.x,这些也是最常见的搜索结果,也是最容易链接的内容,因此您通常会选择其中之一,除非您真的尝试为自己制造困难。如果您确实发现自己在 3.0 或 2.4 之类的古老文档中,您通常可以将 URL 编辑为3.3
or 2.7
,或者只是3
or 2
;如果没有,快速搜索应该可以。