Tag: contextmanager

python:在几个上下文pipe理器上创build一个“with”块

假设您有三个通过上下文pipe理器获取的对象,例如A锁,一个数据库连接和一个IP套接字。 你可以通过以下方式获得 with lock: with db_con: with socket: #do stuff 但有一种方法可以在一个区块内完成吗? 就像是 with lock,db_con,socket: #do stuff 而且,有可能的话,给定一组具有上下文pipe理器的未知长度的对象,有可能以某种方式进行: a=[lock1, lock2, lock3, db_con1, socket, db_con2] with a as res: #now all objects in array are acquired 如果答案是“否”,是不是因为需要这样的function意味着devise不好,或者我应该提出一个build议呢? 😛