python中有没有办法将try/except转换为一行
类似于
b='some variable'
a=c | b#try语句出现在这里
其中,b是声明的变量,c不是。。。所以c会抛出一个错误,a会变成b
这是非常骇人的,但我在想要编写调试操作序列的提示时使用了它:
exec“try:some\u problem\u thing()\nexcept:problem=sys.exc\u info()”
打印“问题是%s”%问题[1]
在大多数情况下,我一点也不为“除限制外无单行尝试”而烦恼,但当我只是在进行实验时,我想让readline在交互式解释器中一次调用一整段代码,以便我能够以某种方式调整它,这个小技巧就派上了用场
对于您试图实现的实际目的,您可以尝试locals().get('c',b);理想情况下,最好使用一个真正的字典,而不是本地上下文,或者在运行任何可能设置或可能不设置c的程序之前,将c分配给None