Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python—如何确保资源已关闭_Python_Urllib2 - Fatal编程技术网

Python—如何确保资源已关闭

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

我想在从方法返回之前关闭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()

我想你要找的是
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。您可以保持异常部分不变,并最终删除
块。如果有任何异常,它们也会发生在
块中。