Man*_*áoz 8 python expression exception-handling dynamic-data nameerror
如您所知,如果我们只是这样做:
>>> a > 0
Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
a > 0
NameError: name 'a' is not defined
Run Code Online (Sandbox Code Playgroud)
有没有办法捕获异常/错误并从中提取值'a'.我需要这个,因为我正在使用eval一些动态创建的表达式,并且想要检索未在其中定义的名称.
希望我清楚自己.谢谢!曼努埃尔
>>> import re
>>> try:
... a>0
... except (NameError,),e:
... print re.findall("name '(\w+)' is not defined",str(e))[0]
a
Run Code Online (Sandbox Code Playgroud)
如果你不想使用正则表达式,你可以做这样的事情
>>> str(e).split("'")[1]
'a'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11613 次 |
| 最近记录: |