Python 2.7 Python:urllib2.urlopen retrns类型为string

Python 2.7 Python:urllib2.urlopen retrns类型为string,python-2.7,urllib2,Python 2.7,Urllib2,我试图通过先发出请求然后使用urlopen函数来获取URL内容,但当我试图关闭流时,它给了我类型错误。经过调查,我发现它返回字符串类型。下面是我的代码: req = urllib2.Request(url, '', HEADERS) html = urllib2.urlopen(req).read() print(type(html)) #retrns str 我想关闭urllib stram。我该怎么做?您没有关闭流。您正在关闭.read()返回的字符串,关闭字符串没有意义 在调用.r

我试图通过先发出请求然后使用urlopen函数来获取URL内容,但当我试图关闭流时,它给了我类型错误。经过调查,我发现它返回字符串类型。下面是我的代码:

 req = urllib2.Request(url, '', HEADERS)
 html = urllib2.urlopen(req).read()
 print(type(html)) #retrns str

我想关闭urllib stram。我该怎么做?

您没有关闭流。您正在关闭
.read()
返回的字符串,关闭字符串没有意义


在调用
.read()
之前,请尝试将
urlopen(…)
的结果存储在某个地方(可能是在一个名为stream的变量中),这样您也可以
.close()
完成后将其关闭。

urllib2.urlopen(…)
返回一个流
html
是在该流上调用
.read()
的结果。您必须在该流上调用
.close()
,而不是在
html
上。您不能关闭该流。你正在关闭一个字符串。在调用
.read()
之前,请尝试将
urlopen(…)
的结果存储在某个地方(可能在名为
stream
的变量中)。谢谢!你能回答这个问题吗?我也不知道为什么这个问题被否决了。这是一个新手提出的很有道理的问题。