0

所以我尝试使用解析生成器waxeye,但是当我尝试使用生成的解析器在python中使用程序的教程示例时出现错误:

AttributeError: 'module' object has no attribute 'Parser'

这是其引用的部分代码:

import waxeye
import parser

p = parser.Parser()

最后一行导致错误。蜡眼生成的解析器我放在与init .py 相同的目录中。它是 parser.py 。

有人知道我的代码有什么问题吗?


2013 年 5 月 20 日编辑:

parser.py 文件的开头:

from waxeye import Edge, State, FA, WaxeyeParser

class Parser (WaxeyeParser):
4

2 回答 2

1

可能是parser您要导入的模块不是您想要的。

尝试插入:

print parser.__file__ 

在导入之后,或者尝试以不同的方式命名解析器模块。

此外,如果使用 Python 2.7,最好absolute_imports__future__模块中启用。

于 2013-05-20T20:13:59.060 回答
1

Python 已经有一个名为 parser 的模块。import 语句将加载系统解析器模块而不是本地 parser.py 文件。解决此问题的最简单方法是更改​​ parser.py 的文件名。例如,xxparser.py。

import waxeye
import xxparser

p = xxparser.Parser()
于 2015-11-08T03:38:57.133 回答