利用python完成xml配置文件的加载
作者:互联网
今天天晴,周四,还有一日双休,最近空闲,宜分享。
最近,因需要提高软件灵活度,需要加载配置文件来解决此问题。灵机一动想到了用XML作为配置文件,试一波,配置灵活,能自检错误。现将利用python完成配置文件加载的,分享一波。
1、自定义的XML标签:
此结构见明知其意,为文件动态处理的机制,包括,原路径文件是否保存,移动位置,重命名等操作。
标签要求:一一对应,可按照自己的喜好定义标签,当然最好规范一点。
2、标签指定结束后,可利用浏览器检查样式是否正确。如不能正确显示,仔细检查一波哦。
3、利用python代码获取xml所在内容
首先你需要构建一个与标签对应的类,方便存储和读取,当然如果只用到一个标签对就能解决问题,就没有波必要了。
class fileCopy:
def __init__(self,_savefile,_startingPosition,_targetLocation,_newFileName) -> None:
self.savefile = _savefile
self.startingPosition =_startingPosition
self.targetLocation = _targetLocation
self.newFileName = _newFileName
pass
def GetIsSavefile(self):
return self.savefile
def GetstartingPosition(self):
return self.startingPosition
def GettargetLocation(self):
return self.targetLocation
def GetnewFileName(self):
return self.newFileName
其次:写一个读取xml的方法
def readXML():
try:
domTree = parse("configuration.xml")
rootNode = domTree.documentElement
# 所有信息
customers = rootNode.getElementsByTagName("fileMove")
list1=[]
for customer in customers:
if customer.hasAttribute("savefile"):
savefile = customer.getAttribute("savefile")
startingPosition =customer.getElementsByTagName("startingPosition")[0]
targetLocation =customer.getElementsByTagName("targetLocation")[0]
newName = customer.getElementsByTagName("newFileName")[0]
file = fileCopy(savefile,startingPosition.childNodes[0].data,targetLocation.childNodes [0]. data,newName.childNodes[0].data)
list1.append(file)
return list1
except Exception as e:
print("无法加载配置文件:configuration.xml")
return []
总之,标签名和代码中要选择读取的名称要相同,否则加载失败,这就是上文提到的,标签名规范的重要性了,虽然我的也不那么规范。哈哈哈。
看完点赞哦,每天一个好习惯!
标签:xml,savefile,return,配置文件,python,标签,self,startingPosition,targetLocation 来源: https://blog.csdn.net/qq_43519428/article/details/121977044