python的实战:一个目录一键启动管理小工具

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python的实战:一个目录一键启动管理小工具相关的知识,希望对你有一定的参考价值。

简单的学习了几天的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的实战:一个目录一键启动管理小工具的主要内容,如果未能解决你的问题,请参考以下文章

自动化运维工具ansible实战第四章一键部署msql主从,redis主从,mongodb主从

企业官网小程序实战教程-管理后台制作

Qt6网络抓包工具项目实战导航目录

实战小项目python开发自动化运维工具--批量操作主机

云原生之Docker实战在docker环境下部署DooTask任务管理工具

python实战python一行代码,实现文件共享服务器