您当前的位置: 首页 >> 热门资讯

python自动化脚本应用_使用Python构建自动化脚本管理系统,干货分享

作者:admin 日期:2025-01-20 点击数:0

Python自动化脚本管理工具实现每天都有大量的脚本需要运行,还得记住每个脚本的执行时间,真是让人头疼!不如编写一个工具来管理这些脚本,让它自动执行、监控状态,并记录运行日志,岂不是很爽?项目架构设计这个工具主要分为三个部分:

脚本注册管理、任务调度器和日志系统简单来说,就是告诉工具要执行什么脚本,什么时候执行,以及执行后的情况如何classScriptManager:def__init__(self):        self.scripts = {} 。

        self.scheduler = {}         self.log_path = "script_logs/"defregister_script(self, name, path, schedule=

""):        self.scripts[name] = { "path": path, "schedule": schedule, "status": "idle"        } 脚本注册功能

必须让工具知道要管理哪些脚本为此,我们需要添加一个注册函数,用于记录脚本的名字、路径以及执行计划defadd_script(self, name, script_path):    if not os.path.exists(script_path): 。

raise FileNotFoundError("脚本文件不存在!")     self.scripts[name] = { "path": script_path, "last_run": None,

"status": "ready"    } 🔔 提示:注册脚本时最好检查文件是否存在,以免运行时发现文件丢失任务调度模块仅仅注册脚本是不够的,还需要按计划执行我们可以使用schedule库来实现定时任务,既简单又好用。

import schedule import time from datetime import datetime defsetup_scheduler(self):for name, info in

 self.scripts.items(): if info["schedule"]:             schedule.every().day.at(info["schedule"]).do(

                self.run_script, name             ) whileTrue:         schedule.run_pending()         time.sleep(

【星界云手机】,让你的游戏生活变得更加自由!云端托管手游,挂机脚本助你24小时不间断游戏,让你无需花费过多时间和精力,轻松提升游戏实力,成就真正的高手!

1) 脚本执行器执行脚本时应该使用子进程来运行,这样主程序才不会被阻塞同时,需要将输出重定向到日志文件defrun_script(self, script_name):    script_info = self.scripts[script_name] 。

    log_file = f"{self.log_path}{script_name}_{datetime.now():%Y%m%d_%H%M}.log"try:         process = subprocess.Popen(

            ["python", script_info["path"]],             stdout=subprocess.PIPE,             stderr=subprocess.PIPE

        )         output, error = process.communicate() with open(log_file, "w") as f:             f.write(output.decode())

if error:                 f.write("\n错误信息:\n" + error.decode())         script_info["status"] = "completed"

if process.returncode == 0else"failed" except Exception as e:         script_info["status"] = "error"

with open(log_file, "w") as f:             f.write(f"执行出错:{str(e)}") 状态监控必须知道脚本是否成功执行,如果失败了需要能够及时发现def

get_status(self):    status_info = {} for name, info in self.scripts.items():         status_info[name] = {

"status": info["status"], "last_run": info["last_run"]         } return status_info 🔔 提示:监控状态时可以增加一个邮件通知功能,这样一旦脚本运行失败,可以立即收到提醒。

使用示例下面是一个使用示例:manager = ScriptManager() # 注册脚本 manager.add_script("数据备份", "/scripts/backup.py") manager.add_script(

"日报生成", "/scripts/daily_report.py", "18:00") # 启动调度器 manager.setup_scheduler() # 查看状态 print(manager.get_status())

代码完成后,再也不需要手动运行脚本,也不用担心忘记执行了这个工具不仅能自动执行,还能记录日志,出现问题时可以迅速找到原因下一步可以考虑增加一些新功能,例如Web界面管理和远程执行脚本等,这样会更加便捷

眼睛疲劳,手指酸痛,想要游戏更轻松?试试【星界云手机】吧!它以云端托管手游为基础,让你告别手指疲劳,只需坐享游戏乐趣。挂机脚本助你24小时不间断打怪升级,游戏更轻松,享受游戏乐趣!

本站所有文章、数据、图片均来自互联网,一切版权均归源网站或源作者所有。

如果侵犯了你的权益请来信告知我们删除。邮箱:631580315@qq.com

标签: