다음 유형의 Pyparsing 표현식을 사용하고 있습니다.Pyparsing의 중첩 된 사전 Parseresults
pp.SkipTo(common_cfg)('value 2') + common_cfg + pp.SkipTo(pp.LineEnd())
common_cfg는 결과에 '값 1'을 할당하는 표현식입니다.
asDict() 구문 분석 할 때 중첩 된 사전이 나타납니다. 왜 그런 일이 일어나고 어떻게 해결할 수 있습니까? "값 2"의 경우 빈 문자열 만 있으면됩니다.
{'value 1': '52D4B6ED', 'value 2': ([''], {})}
입력 문자열,'common_cfg'의 정의,'pp'가 나오는 부분 및 재생산에 필요한 다른 세부 사항을 포함하여 이것을 완벽하게 재현하는 코드 샘플을 제공해주십시오. REPL에서 복사/붙여 넣기를 수행하면 충분할 수 있습니다 (지나치게 길지 않은 경우). – jpmc26
common_cfg는 코드에 의해 자동 생성되므로 약간 관련이 있습니다. 반환 된 중첩 된 사전의 의미가 무엇인지 알고 싶었습니다. – jazzblue
'common_cfg'가 복잡해지면 예제를 줄이면 * 제거 할 수있는 좋은 예가 될 것입니다. 특정 정의를 선택하여 질문에 넣으면이를 재현 할 수 있습니다. 나는 당신이 elightening을 찾을 것 : http://sscce.org/. 원래 내가 글을 읽었을 때 가장 큰 문제 중 하나는 내가 어디에서 결과를 얻었는지 말할 수 없다는 것입니다. 당신이 받아 들인 답은 몇 가지 일이 올바른 추측이었습니다. 당신이'repr'을보고있는 것은 그들 중 하나입니다. 그럼에도 불구하고, 나는 당신이 당신의 대답을 가지고있어서 다행입니다. 행복한 코딩. – jpmc26