修正済み: 既に parser と呼ばれるモジュールがあることが判明しました。名前を変更し、正常に動作しました!皆さんありがとう。
理解できない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...")
パーサー.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:\ です。学校の個人用ドライブだからです。