我是Python的新手,正在阅读别人的代码:应该urllib.urlopen()跟着urllib.close()?否则,会泄漏连接,对吗?
3 回答
子衿沉夜
TA贡献1828条经验 获得超3个赞
该close方法必须在的结果上调用urllib.urlopen,而不是在urllib您正在考虑的模块本身上调用(如您所提到的urllib.close-不存在)。
最好的方法:代替x = urllib.urlopen(u)etc,使用:
import contextlib
with contextlib.closing(urllib.urlopen(u)) as x:
...use x at will here...
该with语句和closing上下文管理器将确保即使在出现异常的情况下也能正确关闭。
添加回答
举报
0/150
提交
取消