标签:with open document coding 文件中 get 使用 des 读取 ldo
简单的学习了几天的python,总觉得最好根据自身的需求来做点小工具实战一下。
上班的时候由于有很多目录需要打开。每次都要一个个的找那些目录。
我觉得,我需要一个小工具。然后登记下,所有需要打开的目录。然后可以很方便的一键打开所有的目录
或者是有哪些文件。然后登记一下。可以一次性打开所有登记的目标
每次打开工具时,需要读取xml的数据。每增加一条数据要写入到xml中。
这样我们即使部使用辅助工具去添加记录。直接修改xml文件的数据来增加记录也是可以的。
具体实现如下
import os import xml.dom.minidom as xmldom datas={} savepath="./manager.xml" def main(): loadXml(savepath) while(True): print("目录快捷管理程序") result= input("1、显示目录数据 2、添加新的管理目录 3、清屏 4、启动管理 0、打开所有目录:") if result=="1": for key in datas.keys(): print(key,datas[key]) elif result=="2": os.system("cls") addData() elif result == "3": os.system("cls") elif result == "4": os.system("cls") manager() elif result == "0": openAll() os.system("cls") else: print("输入错误请重新输入.") #从文件中load数据到内存 def loadXml(xmlPath): root= xmldom.parse(xmlPath) nodes=root.getElementsByTagName("node") print("所有目录列表:") for node in nodes: key=node.getAttribute("name") value=node.getAttribute("path") datas[key]=value print(key,value) #保存内存数据到文件 def saveXml(xmlPath): root=xmldom.Document() nodes= root.createElement("pathData") root.appendChild(nodes) for key in datas: node=root.createElement("node") node.setAttribute("name",key) node.setAttribute("path",datas[key]) nodes.appendChild(node) with open(xmlPath,"wb+") as file: saveStr=root.toprettyxml(indent=‘\t‘,encoding="utf-8") print(saveStr) file.write(saveStr) #打开所有保存的目录 def openAll(): for key in datas: data = datas[key] if os.path.exists(data): os.startfile(datas[key]) print(key, "启动成功") else: print(key, "不存在,启动失败.") #添加新的路径模块 def addData(): while (True): key = input("请输入别称(输入q退出):") if key.lower() == ‘q‘: break; value = input("请输入完整路径:") if os.path.exists(value): datas[key] = value saveXml(savepath) print("添加路径失败,路径不存在") #启动管理的模块 def manager(): print("别称列表:") for key in datas.keys(): print(key) while True: startName = input("请输入启动别称(all为全部启动,q退出到上一层):") if startName.lower()==‘q‘: break; if startName.lower()==‘all‘: openAll() continue data = datas.get(startName) if data: if os.path.exists(data): os.startfile(data) print("成功打开",startName) else: print(data, "路径不存在.") if __name__=="__main__": main()
标签:with open document coding 文件中 get 使用 des 读取 ldo
原文地址:http://www.cnblogs.com/kings0/p/7800364.html