Итак, у меня есть следующий сценарий python, который я называю DecisionCat.
import xml.etree.ElementTree as ET
import collections
from dataclasses import dataclass
def LoadStructure(filePath):
tree = ET.parse(rulePath)
root = tree.getroot()
for RuleN in root.findall("Rule"):
NewRule=Rule()
RNumber=RuleN.attrib['RuleNumber']
parameters={}
for child in RuleN:
if(child.tag == "Rule_Name"):
RName=child.text
if(child.tag == "Category"):
RCat=child.text
if(child.tag == "Description"):
RDesc=child.text
if(child.tag=="Script_Object"):
RPath=child.text
if(child.tag == "Parameter_List"):
PName=""
PType=""
for Parameters in child:
if (Parameters.tag == "Parameter"):
for Params in Parameters:
if (Params.tag == "Parameter_Name"):
PName=Params.text
if (Params.tag == "Parameter_Type"):
PType=Params.text
parameters[PName]=PType
NewRule.RuleName=RName
NewRule.RuleCat=RCat
NewRule.RuleDescription=RDesc
NewRule.RulePath=RPath
NewRule.Parameterlist=parameters
catalog[RNumber]=NewRule
class Rule:
RuleName: str
RuleCat: str
RuleDescription: str
RulePath: str
Parameterlist:{}
Я настроил структуру папок, состоящую из следующего:
DecisionCatalog (folder)
with DecisionCat (folder)
with __init__.py
DecisionCat.py
Вот мой тестовый скрипт.
import sys
import DecisionCatalog
RNumber=""
RName=""
RCat=""
RDesc=""
RPath=""
catalog={}
rulePath="../DC_Extension_v6.xml"
LoadStructure(rulePath)
Я получаю следующее сообщение об ошибке:
Traceback (последний вызов последним): файл «TestCat2.py», строка 11, в LoadStructure ( rulePath) NameError: имя LoadStructure не определено
Кто-нибудь может помочь?