Pyparsing 1.4 TypeError:未确定对象的len()

时间:2014-01-28 20:41:50

标签: python pyparsing

我有这个解析器适用于较新的pyparsing,但现在它正在抛出旧版本的错误...... Pyparsing 1.4-1.1。我已经介入调试,无法弄清楚如何解决这个问题。谁能告诉我这里的问题是什么。谢谢!

pairs = [{'category': 'General Information',
      'kv': Group(Word(alphanums) + Word(alphanums))},
     {'category': 'Last Reset:',
      'kv': Group(Word(alphas, max=1) + Word(alphas)) + Literal(':').suppress()
            + Group(Regex(date_regex) + Regex(time_regex)
            + Optional(SkipTo(LineEnd())))
      }
     ]

完整的追溯是这样的:

Traceback (most recent call last):
  File "foobar.py", line 33, in ?
    pairs = [{'category': 'General Information',
  File "/var/lib/python-support/python2.4/pyparsing.py", line 1219, in __init__
    if len(pattern) == 0:
TypeError: len() of unsized object

1 个答案:

答案 0 :(得分:0)

Pyparsing是一个非常小的库,只是一个源文件。如果您无法安装新版本,只需使用您应用程序自己的源代码添加正确版本的pyparsing。当然,这并不理想,您现在必须使用自己的应用程序维护pyparsing lib代码。但听起来你是一个绝望的地方。