【发布时间】:2017-12-12 07:03:45
【问题描述】:
很抱歉这个新手问题,但这个问题一直让我发疯,并且搜索了很多小时都没有找到解决方案。
我有一个类似于以下内容的路由器配置输入文件:
groups {
...some nested info...
}
some text....
system {
...some nested info...
}
chassis {
...some nested info...
}
现在使用 pyparsing 和 nestedExpr,我可以解析第一部分“组”,并在列表中得到一组完美的列表,但我无法继续处理“系统”或“机箱”。
理想情况下,我想从“机箱”开始,只获取该部分的列表列表,仅此而已。
有没有办法让 pyparsing 和 nestedExpr 处理整个文件或从某个点开始?
我当前的代码非常简单,理想情况下如何让它从“机箱”开始:
from pyparsing import *
with open('newfile.txt') as routerFile:
test = routerFile.read()
expr = Word(alphas) + nestedExpr('{','}')
print expr.parseString(test)
【问题讨论】:
-
'chassis'是否嵌套在'system'中?还是应该是系统嵌套信息之后的'}'? -
是的,机箱和系统是分开的,现已修复,感谢您了解这一点