Python AttributeError:'module'对象没有属性'suite'

时间:2015-01-29 02:04:01

标签: python parsing

出于某些原因,在某些情况下,此代码不起作用。我在另一个目录中尝试了完全相同的文件(整个选择并复制/粘贴到文件中)并且它能够解析。由于被解析的文件没有任何不同,所以非常令人沮丧。

from compiler.ast import *
import compiler
import sys
import string

debug = False
myfile = sys.argv[1]
print compiler.parseFile(myfile)

输出失败:

Traceback (most recent call last):    
File "src/compile.py", line 17, in <module>    
  print compiler.parseFile(myfile)    
File "/usr/lib/python2.7/compiler/transformer.py", line 47, in parseFile    
  return parse(src)    
File "/usr/lib/python2.7/compiler/transformer.py", line 51, in parse    
  return Transformer().parsesuite(buf)    
File "/usr/lib/python2.7/compiler/transformer.py", line 128, in 
parsesuite    
  return self.transform(parser.suite(text))    
AttributeError: 'module' object has no attribute 'suite'

成功输出:

Module(None, Stmt([Assign([AssName('x', 'OP_ASSIGN')], Add((CallFunc(Name('input'), [], None, None), Const(100)))), Printnl([Name('x')], None)]))

1 个答案:

答案 0 :(得分:3)

在失败的目录中是名为parser.pyparser.pyc的文件或名为parser的目录。删除或重命名。