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

github star

大家好,这里是程序员晚枫,正在all in AI编程实战

今天教你怎么用 python-office 定时给自己发微信提醒,再也不会忘记重要事情!

1、快速发送微信消息

1
2
3
4
5
6
7
8
9
import office

# 给好友发消息
office.robot.send(
user='张三',
msg='测试消息'
)

print('消息已发送!')

2、定时提醒脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import office
import time
from datetime import datetime, timedelta

def set_reminder(message, minutes):
"""设置定时提醒"""
target_time = datetime.now() + timedelta(minutes=minutes)

print(f'提醒已设置:{minutes}分钟后提醒您')

while True:
if datetime.now() >= target_time:
office.robot.send(user='自己', msg=f'🔔 提醒:{message}')
print('提醒已发送!')
break
time.sleep(30) # 每30秒检查一次

# 30分钟后提醒喝水
set_reminder('该喝水了!', minutes=30)

3、每天定时提醒

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
import office
import time
from datetime import datetime

def daily_reminder():
"""每天定时提醒"""

reminders = {
'09:00': '早安!新的一天开始啦,记得喝杯水~',
'12:00': '午休时间到了!',
'18:00': '下班时间到!别忘了整理桌面~',
'21:00': '该学习Python啦!',
'23:00': '夜深了,早点休息~'
}

while True:
now = datetime.now().strftime('%H:%M')

if now in reminders:
office.robot.send(user='自己', msg=f'🔔 {reminders[now]}')
print(f'{now} 提醒已发送')
time.sleep(60) # 发送后等待1分钟,避免重复发送

time.sleep(30)

# 启动定时提醒
daily_reminder()

4、一次性提醒(设置后关闭)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import office
from datetime import datetime, timedelta
import threading

def one_time_reminder(message, target_time):
"""一次性提醒"""

def check():
while datetime.now() < target_time:
import time
time.sleep(30)

office.robot.send(user='自己', msg=f'🔔 提醒:{message}')
print('一次性提醒已发送')

thread = threading.Thread(target=check)
thread.start()

# 设置明天下午3点提醒开会
from datetime import datetime, timedelta
target = (datetime.now() + timedelta(days=1)).replace(hour=15, minute=0, second=0)
one_time_reminder('下午3点开会!', target)
print('提醒已设置')

5、实战案例:每日任务提醒

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import office
import schedule
from datetime import datetime

def job(name):
"""执行任务并发送消息"""
office.robot.send(user='自己', msg=f'✅ 任务完成:{name}')
print(f'任务完成:{name}')

# 设置每日任务
schedule.every().day.at('09:00').do(job, '整理今日待办')
schedule.every().day.at('10:00').do(job, '检查邮件')
schedule.every().day.at('14:00').do(job, '下午茶时间')
schedule.every().day.at('17:00').do(job, '提交日报')

print('每日任务提醒已设置!')

# 持续运行
import time
while True:
schedule.run_pending()
time.sleep(60)

6、实战案例:会议前提醒

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
import office
from datetime import datetime, timedelta
import threading

def meeting_reminder(meeting_name, minutes_before=10):
"""会议前提醒"""

# 假设会议是明天下午3点
meeting_time = (datetime.now() + timedelta(days=1)).replace(hour=15, minute=0)
remind_time = meeting_time - timedelta(minutes=minutes_before)

def check():
from datetime import datetime
from time import sleep
while datetime.now() < remind_time:
sleep(30)

office.robot.send(
user='自己',
msg=f'📅 会议提醒:{meeting_name}将在{minutes_before}分钟后开始!'
)

thread = threading.Thread(target=check)
thread.start()
print(f'会议提醒已设置:{meeting_name}')

meeting_reminder('产品评审会议', minutes_before=15)

7、常见问题

Q:消息发不出去?

A:检查微信是否登录了网页版,或者尝试重启微信。

Q:Mac上能用吗?

A:Mac 可以用,但功能可能受限。

Q:提醒时间不准?

A:检查脚本是否一直在运行,时间精度在30秒左右。

8、下讲预告

学会了微信定时提醒,下一讲我们学 视频处理:批量压缩、剪辑视频。

敬请期待!


有问题欢迎加微信 python-office 进群交流~

程序员晚枫专注AI编程培训,小白看完他和图灵社区合作的教程《30讲 · AI编程训练营》就能上手做AI项目。

🎓 AI 编程实战课程

想系统学习 AI 编程?程序员晚枫的 AI 编程实战课 帮你从零上手!