我尝试使用PyParsing将delimitedString
提取为列表,如下所示:
from pyparsing import *
string = "arm + mips + x86"
pattern = delimitedList(Word(printables), delim="+")("architectures")
result = pattern.parseString(string)
print(dict(result))
问题是这个指纹
{'architectures': (['arm', 'mips', 'x86'], {})}
它是ParseResult
的字符串表示形式。但是,我希望结果是一个Python列表:
{'architectures': ['arm', 'mips', 'x86']}
我已经研究过如何使用setParseAction
来实现这一点,但是我没有弄清楚如何使用该方法的API来实现这一点。实际上,我想将list()
应用于整个ParseResult
,但是setParseAction
函数必须将原始字符串、位置和标记作为输入(参见http://pyparsing.wikispaces.com/HowToUsePyparsing)。你知道吗
如何对结果进行后期处理以使其成为列表?你知道吗
转换为答案PaulMcG的注释,
result.asDict()
生成所需的结果。你知道吗相关问题 更多 >
编程相关推荐