为什么我的非常简单的Python脚本失败了?

时间:2013-11-29 18:43:58

标签: python urllib2

noob.py在这里。我正在尝试从页面获取内容,但print语句引发了一个我不理解的错误。

实际代码:

import urllib2
import sys

url = "http://make.wordpress.org/core/page/2/"
response = urllib2.urlopen(url)
html = response.read
print html

输出:

$ python get.py
<bound method _fileobject.read of <socket._fileobject object at 0x3722ec9a8d0>>

我怀疑Python不喜欢该特定网址,因为它可以使用http://www.python.org代替,但我可以获得任何有用的信息来理解它。

我没有得到的是,如果我将其包含在try:except:↵ pass中,我仍然会收到该错误消息。

任何指针都很受欢迎。

2 个答案:

答案 0 :(得分:5)

这不是错误;它是read方法的字符串表示形式。

你正在看到它,因为在这一行:

html = response.read

您忘记调用read方法。因此,html被赋给方法本身,而不是它的返回值。

在方法名称后添加()将调用它:

html = response.read()

现在,html设置为read方法的返回值。

答案 1 :(得分:1)

这里要学习的好处是python中的所有内容(函数,数据,变量)都是一个对象,print <obj>会给你类似object at 0x3722ec9a8d0>

的内容