with在python中通常被用來做資源管理逃延,和異常處理的。
比如我們打開文件轧拄,經(jīng)常能看到用的是with吧揽祥,with open這樣的用法。這是顯示的作用檩电,異常處理就是隱式的拄丰。用with能確保,如果IO流出現(xiàn)問題不會(huì)阻塞其他進(jìn)程是嗜。
如果不用with的話愈案,該怎么處理文件io呢
file = open('file-path', 'w')
try:
file.write('test')
finally:
file.close()
能看到一定要確保最后調(diào)用文件對象的close方法挺尾。
如果用with來做鹅搪,發(fā)現(xiàn)可以省略顯式調(diào)用close方法,with會(huì)去做遭铺。
with open('file-path', 'w') as file:
file.write('test')
常用的需要close的場景丽柿,比如數(shù)據(jù)庫的連接,一般需要close魂挂,還有例如smtp的連接甫题。