import schedule
import time
def job():
print("I'm working...")
schedule.every(10).minutes.do(job)
schedule.every().hour.do(job)
schedule.every().day.at("10:30").do(job)
while True:
schedule.run_pending()
time.sleep(1)
我知道当程序运行时,它会执行你告诉它运行的功能。我不明白的是你如何将这项工作变成每天的自动化任务。您是否会从命令行调用此命令并始终保持打开状态?如果我关闭了我的电脑,我将不得不重新启用它再也不会吗?
我认为在这种情况下创建自动Python任务时我会遗漏一些东西。我在Windows环境中。
答案 0 :(得分:2)
以下是概述:作为启动项运行任务意味着每个操作系统上的不同内容与python无关。
在Windows上,您可以使用python库Pyinstaller将其设置为Windows服务(将脚本更改为.exe文件,然后运行your.exe install --startup='auto'
在基于Linux的操作系统上,您需要检查脚本的放置位置,因为the startup sequence has changed in the last few years。甚至还有管理软件包使其更容易。
在Mac上,有用于控制启动服务的GUI工具以及launchctl http://www.macworld.com/article/2047747/take-control-of-startup-and-login-items.html
您可以访问:
,查看您计算机上当前的流程Windows:任务管理器(按ctrl-alt-delete并选择任务管理器)
Linux或Mac:终端类型ps -Al
系统级别 - 如果没有人登录您的计算机正在做什么? (您的脚本?,网络服务器?,protein folding?,dreaming of electric sheep?)
是的,每次运行单独的脚本时,Python都会占用资源。我有RAM的Gigs和Python需要< 30 MB来运行每个脚本(取决于库的大小+程序的大小+ io绑定+ cpu绑定问题)。您的系统当前正在运行> 100个进程,并且能够运行1000个进程。不要担心在系统上优化您的程序,直到它出现问题。