如何在Python中检查urllib2对象?

时间:2012-08-17 15:55:58

标签: python urllib2

我目前正在学习Python,而且我来自Java / C ++和C背景。我通常喜欢“检查”调试器中的“对象”以更好地理解正在发生的事情,所以请原谅我的问题,如果python看起来很奇怪。

我正在阅读Python网站上的urllib2文档。显示以下示例:

>>> import urllib2
>>> for line in urllib2.urlopen('http://tycho.usno.navy.mil/cgi-bin/timer.pl'):
...     if 'EST' in line or 'EDT' in line:  # look for Eastern Time
...         print line

我了解urlopen会下载网页内容。

urlopen是否下载了HTML内容?我尝试了以下操作:

content = urllib2.urlopen('http://tycho.usno.navy.mil/cgi-bin/timer.pl')
print content

产生一个对象。这个对象的本质是什么?它是一个类似字典的对象吗?如果是这样,我该如何检查它的关键值是什么?是否可以在Python中使用pickling来完成?

我知道geturl()方法,但我想完全理解urlopen()的作用并返回。

谢谢!

3 个答案:

答案 0 :(得分:1)

import pdb
pdb.set_trace()

将它放在源代码中的任何位置,如断点 - 它允许您以交互方式检查名称和对象。一旦你进入,你也可以使用

import inspect

有许多选项可用于检查对象http://docs.python.org/library/inspect.html#module-inspect

的属性和方法

dir(my_object)也是一种做类似事情的廉价方法

答案 1 :(得分:1)

来自the documentation

  

此函数返回一个类似文件的对象,其中包含两个额外的方法:...

所以你可以像文件一样阅读它(就像你已经做的那样)。

答案 2 :(得分:0)

是的,您可以使用以下方式打印内容:

print content.read()

另外,我想建议IPython,这样你就可以很容易地检查对象方法和属性:

dir(content)