在python中有没有办法将try/except变成单行?类似...b='somevariable'a=c|b#trystatementgoeshere其中b是已声明的变量,而c不是...所以c会抛出错误而a会变成b... 最佳答案 在python3中你可以使用contextlib.suppress:fromcontextlibimportsuppressd={}withsuppress(KeyError):d['foo'] 关于python-我应该如何将try/except放在一行中?
在python中有没有办法将try/except变成单行?类似...b='somevariable'a=c|b#trystatementgoeshere其中b是已声明的变量,而c不是...所以c会抛出错误而a会变成b... 最佳答案 在python3中你可以使用contextlib.suppress:fromcontextlibimportsuppressd={}withsuppress(KeyError):d['foo'] 关于python-我应该如何将try/except放在一行中?
有谁知道我在哪里可以找到这个python模块“contextlib”?root@overo:~#pythonPython2.6.6(r266:84292,Mar92011,10:05:36)[GCC4.3.3]onlinux2Type"help","copyright","credits"or"license"formoreinformation.>>>importcontextlibTraceback(mostrecentcalllast):File"",line1,inImportError:Nomodulenamedcontextlib我没有亲自编译python。我只是在这个烂摊
我们的代码根据运行时参数调用可变数量的上下文管理器:fromcontextlibimportnested,contextmanager@contextmanagerdefmy_context(arg):print("entering",arg)try:yieldargfinally:print("exiting",arg)defmy_fn(items):withnested(*(my_context(arg)forarginitems))asmanagers:print("processingunder",managers)my_fn(range(3))但是,contextlib.ne
这个问题在这里已经有了答案:Multiplevariablesina'with'statement?(8个回答)关闭3年前.假设您通过上下文管理器获取了三个对象,例如锁、数据库连接和ip套接字。您可以通过以下方式获得它们:withlock:withdb_con:withsocket:#dostuff但是有没有办法在一个block中做到这一点?像withlock,db_con,socket:#dostuff此外,是否有可能,给定一组未知长度的具有上下文管理器的对象,是否有可能以某种方式做到:a=[lock1,lock2,lock3,db_con1,socket,db_con2]witha
这个问题在这里已经有了答案:Multiplevariablesina'with'statement?(8个回答)关闭3年前.假设您通过上下文管理器获取了三个对象,例如锁、数据库连接和ip套接字。您可以通过以下方式获得它们:withlock:withdb_con:withsocket:#dostuff但是有没有办法在一个block中做到这一点?像withlock,db_con,socket:#dostuff此外,是否有可能,给定一组未知长度的具有上下文管理器的对象,是否有可能以某种方式做到:a=[lock1,lock2,lock3,db_con1,socket,db_con2]witha