我是python的新手。试图使用词典。我正在使用以下代码。
t_p = dict()
for line in f.readlines():
stObj = re.search( r'Startpoint:\s(\w+)', line, re.M|re.I)
enObj = re.search( r'Startpoint:\s(\w+)', line, re.M|re.I)
slObj = re.search( r'\s*slack\s\(\w+\)\s*(\S+)\s*(\S+)\s*(\S+)', line, re.M|re.I)
if slObj:
sla = slObj.group(3)
if enObj:
endpoint = enObj.group(1)
t_p[ep] = { 'sla' : sla }
f.close()
我一直收到以下错误:
Traceback (most recent call last):
File "play.py", line 15, in <module>
t_p[ep] = { 'sla' : sla }
NameError: name 'sla' is not defined
我不明白为什么它会思考&#39; sla&#39;没有定义。
答案 0 :(得分:0)
sla
的声明位于if
:
if slObj:
sla = slObj.group(3)
这没有被执行。 slObj
是None
,而不是MatchObject
。你的正则表达式无效。