python的實戰:一個目錄一鍵啟動管理小工具
阿新 • • 發佈:2017-11-07
app Coding put str top ini add nal 讀取
簡單的學習了幾天的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()
python的實戰:一個目錄一鍵啟動管理小工具