【发布时间】:2013-05-15 14:24:29
【问题描述】:
FIXED:原来有一个模块已经称为解析器。重命名它并且它工作正常!谢谢大家。
我得到了一个我无法弄清楚的python NameError,在AttributeError之后得到它。我已经尝试了我所知道的,无法想出任何东西。
main.py:
from random import *
from xml.dom import minidom
import parser
from parser import *
print("+---+ Roleplay Stat Reader +---+")
print("Load previous DAT file, or create new one (new/load file)")
IN=input()
splt = IN.split(' ')
if splt[0]=="new":
xmlwrite(splt[1])
else:
if len(splt[1])<2:
print("err")
else:
xmlread(splt[1])
ex=input("Press ENTER to Exit...")
parser.py:
from xml.dom import minidom
from random import *
def xmlread(doc):
xmldoc = minidom.parse(doc)
itemlist = xmldoc.getElementsByTagName('item')
for s in itemlist:
print(s.attributes['name'].value,":",s.attributes['value'].value)
def xmlwrite(doc):
print("no")
无论我得到什么错误:
Traceback (most recent call last):
File "K:\Python Programs\Stat Reader\main.py", line 10, in <module>
xmlwrite.xmlwrite(splt[1])
NameError: name 'xmlread' is not defined
尝试访问 xmlwrite 时也会出现同样的错误。
当我将 xmlread 和 xmlwrite 更改为 parser.xmlread 和 parser.xmlwrite 时,我得到:
Traceback (most recent call last):
File "K:\Python Programs\Stat Reader\main.py", line 15, in <module>
parser.xmlread(splt[1])
AttributeError: 'module' object has no attribute 'xmlread'
驱动器是 K:\,因为它是我在学校的个人驱动器。
【问题讨论】:
-
我会进入解释器,导入解析器,dir(parser),看看你是在导入正确的模块还是在导入std-lib解析器模块。
标签: python xml python-3.x nameerror attributeerror