用一个Python schedule库,彻底自动化了我每天的重复工作
Photo by Ferenc Almasi on Unsplash
说实话,我一开始也是每天早上手动跑脚本,一不小心忘了就白费一天,就这样反复折腾到精疲力竭然后放弃。不管是爬虫、生成报告还是文件备份——我只是想着"要是能自动运行该多好",却一直没有行动。但自从了解了Python schedule库之后,这个烦恼彻底消失了。读完这篇文章,你今天就能在自己的电脑上完成自动运行的配置。真的。
Photo by Markus Winkler on Unsplash
1. 只需1分钟,了解schedule库是什么
schedule是一个Python库,用于设定某个函数"何时、多频繁"地执行。不需要掌握复杂的cron语法,不需要服务器,直接在你的笔记本上就能运行。简单来说,它可以做到这些:
- 每天早上9点自动执行新闻爬取
- 每隔1小时备份指定文件夹
- 每周一上午自动生成周报
这些功能不超过10行代码就能搞定。安装也很简单,打开终端输入这一行命令即可:
pip install schedule
就这样。安装不到30秒。如果你已经有Python环境,直接跳到下一步就行。
Photo by Peaky Frames on Unsplash
2. 基本结构长这样——复制粘贴直接用
很多人第一次看到结构时会因为不熟悉而卡住。所以我直接把完整框架给你,复制粘贴后只需替换成你想要的函数就行:
import schedule
import time
def 我要自动化的任务():
print("现在执行了!")
# 在这里放入你实际想运行的代码
# 设置执行周期
schedule.every().day.at("09:00").do(我要自动化的任务)
# 让程序持续运行的循环
while True:
schedule.run_pending()
time.sleep(1)
只需记住三个部分:
- 定义函数:将要自动执行的内容写成一个函数
- 设置计划:在
schedule.every()...部分指定何时执行 - while循环:让程序保持运行并监听计划任务的代码
就这三点,仅此而已。一开始while循环看起来有点奇怪,但你只需理解成"程序不关闭、保持待机状态,到时间了就执行"就好。time.sleep(1)是为了防止CPU白白跑到100%,让它每秒休息一下。一定要加上。
Photo by Ilija Boshkov on Unsplash
3. 这样设置时间随心所欲——常用模式汇总
schedule库真正的优势在于,时间设置像英文句子一样直观。不需要死记硬背,一看就懂。给大家整理最常用的几种模式:
- 每10秒执行一次:
schedule.every(10).seconds.do(函数名) - 每5分钟执行一次:
schedule.every(5).minutes.do(函数名) - 每1小时执行一次:
schedule.every().hour.do(函数名) - 每天指定时间执行:
schedule.every().day.at("08:30").do(函数名) - 每周一执行:
schedule.every().monday.at("09:00").do(函数名) - 每周五下午执行:
schedule.every().friday.at("18:00").do(函数名)
实战中怎么用呢——比如你有一个每天早上7点爬取某电商最低价并保存到Excel的脚本,只需这样写:
schedule.every().day.at("07:00").do(爬取并保存)
就这一行。每天早上7点它会自动运行,哪怕你还在睡觉。同时注册多个计划任务也完全没问题。比如早上爬数据、下午生成报告,只需写多行schedule.every()...,全部都会正常执行。
Photo by Markus Spiske on Unsplash
4. 想让电脑关机后也能运行?这样做——真正自动化的最后一步
很多人会在这里遇到卡点。"运行Python文件之后,关掉终端窗口不就停了吗"——没错。而且电脑重启后还得手动再启动。这个问题不解决,就称不上真正的自动化。下面给大家介绍两种方法:
方法一——Windows:使用任务计划程序
- 在Windows搜索栏输入"任务计划程序"并打开
- 点击"创建基本任务"
- 触发器:计算机启动时 / 或选择指定时间
- 操作:启动程序 → 选择
pythonw.exe(无终端窗口后台运行) - 在"添加参数"中输入你的Python文件路径
关键在于使用pythonw.exe。用python.exe会弹出黑色窗口,而pythonw会在后台静默运行。
方法二——Mac/Linux:使用crontab实现开机自启
在终端输入crontab -e,然后添加如下内容:
@reboot /usr/bin/python3 /Users/你的用户名/scripts/my_schedule.py &
别忘了在末尾加上&,这是后台运行的命令。
选择以上两种方法中的任意一种,每次电脑开机时脚本就会自动启动。这样一来,真正无需操心、自动运行的结构就完成了。
现在就做这一件事
感谢你耐心读完这么长的内容。但不管读得多仔细,不动手练习就很难真正掌握。所以只拜托你做一件事。
现在打开终端,输入 pip install schedule。然后把上面给你的基本结构代码复制粘贴过来,在函数里只加一行print("你好,我自动运行了!"),然后跑起来看看。设置成每10秒输出一次,马上就能直观看到效果。
当这一步成功的那一刻,你会感受到"哇,这真的可以!"的感觉,从那时起各种想法就会源源不断地涌现。爬虫、Telegram通知、文件整理、发送邮件——全都是建立在这个结构之上的。第一次运行就是一切的开始。今天一定要试试看。
댓글
댓글 쓰기