
👉 项目官网:https://www.python-office.com/ 👈

大家好,这里是程序员晚枫,正在all in AI编程实战。
今天教你怎么让程序定时自动运行——设置一次,每天自动执行,不用手动操作。
1、Windows任务计划程序
Windows 自带了定时任务功能,可以定时运行 Python 脚本。
第一步:创建Python脚本
把你要定时执行的功能写成一个脚本,比如 daily_report.py:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| import office from datetime import date
today = date.today().strftime('%Y-%m-%d') df = office.excel.read(path=f'销售数据_{today}.xlsx') office.excel.write(path=f'日报_{today}.xlsx', data=df)
office.email.send( email='领导@example.com', title=f'【日报】{today}', content='今日日报已生成,请查收。', attachment=f'日报_{today}.xlsx' )
print('日报任务完成!')
|
第二步:设置定时任务
- 按
Win + R,输入 taskschd.msc,回车 - 点击右侧「创建基本任务」
- 填写任务名称 → 「每天」→ 选择时间(早上9点)→ 「启动程序」
- 程序选择
python.exe,参数填脚本路径
完成!每天早上9点自动运行。
2、Python内置定时器
不需要系统工具,Python自己就能定时:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| import office import time
def daily_task(): """每日任务""" print('开始执行每日任务...') print('任务完成!')
while True: daily_task() time.sleep(24 * 60 * 60)
|
3、定时执行特定次数
1 2 3 4 5 6 7 8
| import office import time
for i in range(10): print(f'第 {i+1} 次执行...') time.sleep(60 * 60)
|
4、实战案例:每小时自动备份数据
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| import office import time import shutil from datetime import datetime
def backup_data(): """每小时备份一次数据""" now = datetime.now().strftime('%Y%m%d_%H%M%S') shutil.copy( '重要数据.xlsx', f'备份/{now}_数据.xlsx' ) print(f'备份完成: {now}')
while True: backup_data() time.sleep(60 * 60)
|
5、实战案例:每周一自动汇总周报
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
| import office from datetime import datetime import schedule import time
def weekly_summary(): """每周汇总""" now = datetime.now() if now.weekday() != 0: return print('开始生成周报...') office.excel.merge( folder_path='上周数据', output_file=f'周报_{now.strftime("%Y-W%W")}.xlsx', add_file_name=True ) office.email.send( email='领导@example.com', title=f'周报 {now.strftime("%Y-W%W")}', content='本周周报已生成,请查收。' ) print('周报已发送!')
schedule.every().day.at('08:00').do(weekly_summary)
while True: schedule.run_pending() time.sleep(60)
|
6、常见问题
Q:电脑关机了,定时任务会执行吗?
A:不会。可以设置「如果错过任务,立即执行」。建议电脑保持开机。
Q:任务执行失败怎么办?
A:加错误处理和日志:
1 2 3 4 5
| try: except Exception as e: with open('error.log', 'a') as f: f.write(f'{datetime.now()} - {e}\n')
|
Q:Mac上用什么定时?
A:Mac 用「启动项」或 launchd,也可以用 cron。
7、下讲预告
学会了自动化调度,下一讲我们学 综合实战2:做一个自动化数据报表系统。
敬请期待!
有问题欢迎加微信 python-office 进群交流~
程序员晚枫专注AI编程培训,小白看完他和图灵社区合作的教程《30讲 · AI编程训练营》就能上手做AI项目。
🎓 AI 编程实战课程
想系统学习 AI 编程?程序员晚枫的 AI 编程实战课 帮你从零上手!