Python—如何确保资源已关闭
我想在从方法返回之前关闭f。我最后添加了blocked,但它需要初始化。用什么初始化它Python—如何确保资源已关闭,python,urllib2,Python,Urllib2,我想在从方法返回之前关闭f。我最后添加了blocked,但它需要初始化。用什么初始化它 def test_close_resource(url): try: f = urllib2.urlopen(url) if f.code == 200: return True except Exception as error: return False finally: f.close()
def test_close_resource(url):
try:
f = urllib2.urlopen(url)
if f.code == 200:
return True
except Exception as error:
return False
finally:
f.close()
我想你要找的是
with
子句-
with urllib.request.urlopen('http://python.org/') as response:pass
我想你要找的是
with
子句-
with urllib.request.urlopen('http://python.org/') as response:pass
使用以下内容在上下文管理器中打开连接:
当连接从使用关键字
定义的上下文管理器块中出来时,将自动关闭连接。在上下文管理器中使用as打开连接:
当连接从使用和
关键字定义的上下文管理器块中出来时,它会自动关闭。但是如果出现异常,它应该返回false。您可以保持异常部分不变,并最终删除块。如果有任何异常,它们也会发生在和
块中。但在异常情况下,它应该返回false。您可以保持异常部分不变,并最终删除块。如果有任何异常,它们也会发生在和
块中。