擅长:python、mysql、java
<p>我将使用contextlib.closing(与旧Python版本的from uuu future uuu import with u语句结合使用):</p>
<pre><code>from contextlib import closing
with closing(urllib2.urlopen('http://blah')) as sf:
search_soup = BeautifulSoup.BeautifulStoneSoup(sf.read())
</code></pre>
<p>或者,如果要避免with语句:</p>
<pre><code>try:
sf = None
sf = urllib2.urlopen('http://blah')
search_soup = BeautifulSoup.BeautifulStoneSoup(sf.read())
finally:
if sf:
sf.close()
</code></pre>
<p>不过不太优雅。</p>