0

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

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

>>> 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

产生一个对象。这个物体的本质是什么?它是一个类似字典的对象吗?如果是这样,我如何检查它的键值是什么?那会pickling在 Python 中使用吗?

我知道该geturl()方法,但我想完全了解urlopen()它的作用和返回值。

谢谢!

4

3 回答 3

1
import pdb
pdb.set_trace()

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

import inspect

它有许多用于检查对象的属性和方法的选项http://docs.python.org/library/inspect.html#module-inspect

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

于 2012-08-17T15:58:22.620 回答
1

文档中

这个函数返回一个类似文件的对象,带有两个额外的方法: ...

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

于 2012-08-17T15:59:20.883 回答
0

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

print content.read()

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

dir(content)
于 2012-08-17T16:04:28.347 回答