“data = opener.open()”卡在循环中,但“opener.open()”不是

时间:2013-06-15 06:34:58

标签: python urllib2

我有一个本地WAMP服务器,当我尝试运行此python代码时遇到此问题:

import urllib2
import time
h = urllib2.HTTPHandler(debuglevel = 1)
request = urllib2.Request('http://127.0.0.1/test.html')
request.add_header('User-Agent','test/1.0')
opener = urllib2.build_opener(h)
t = time.clock()

for i in range(2):
    data = opener.open(request)
print 'it costs %fs' % (time.clock() - t)

结果:it costs 118.455130s

但是当我用data = opener.open(request)替换opener.open(request)时,这似乎是正常的。

结果:it costs 0.001970s

我可以重复一下结果。为什么会这样?

1 个答案:

答案 0 :(得分:0)

我认为你的意思是:

data = opener.open(request).read()

右?

阅读响应主体需要时间根据其内容大小。