在几个上下文管理器上创建一个“with”块?
假设您有三个通过上下文管理器获取的对象,例如A锁,数据库连接和ip套接字。您可以通过以下方式获取它
with lock: with db_con: with socket: #do stuff
但有没有办法在一个街区内完成?就像是
with lock,db_con,socket: #do stuff
此外,如果有一组具有上下文管理器的未知长度的对象,是否有可能以某种方式做到:
a=[lock1, lock2, lock3, db_con1, socket, db_con2]with a as res: #now all objects in array are acquired
如果答案是“不”,是不是因为需要这样的功能意味着设计不好,或者我应该建议它?:-P
犯罪嫌疑人X
海绵宝宝撒
相关分类