python – 如何在解析过程中丢弃pyparsing parseResults?
发布时间:2020-12-16 21:57:09 所属栏目:Python 来源:网络整理
导读:是否有可能告诉pyparsing不存储ParseResults或手动丢弃它们? 我正在解析一个大的项目文件,并且可以通过解析操作对每个项目进行所有后处理.因此,只要一个项目被解析,我就不再需要它的ParseResult了,并希望能够丢弃它,因为我正在达到我所在机器的内存限制. 最
是否有可能告诉pyparsing不存储ParseResults或手动丢弃它们? 我正在解析一个大的项目文件,并且可以通过解析操作对每个项目进行所有后处理.因此,只要一个项目被解析,我就不再需要它的ParseResult了,并希望能够丢弃它,因为我正在达到我所在机器的内存限制. 最佳答案
您是否在解析令牌时使用解析操作来处理令牌?如果是这样,您可以使用del删除已解析的标记的内容:
或者您可能只想使用scanString而不是parseString.而不是这个:
做:
scanString返回一个生成器,它生成包含匹配标记的3元组,每个连续匹配的起始位置和结束位置.您可以处理每个已解析的令牌集,然后当您转到下一个集时,旧集将自动被丢弃.我认为这可能是您最简单的方式,只需对您的程序进行最少的更改. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |