背景:这两天一直沉迷于在电脑上看书,每到12点该吃饭时就会忘了,同事还要到工位上叫我,于是就想搞出来一个每天能够定时提醒我该做什么事情的功能,这样能够有提前准备。今天下午花了半天的时间研究了一下,最终DIY出来一个在Mac上语音定时提醒的功能。
技术:Python:pygame
Linux下crontab指令
Mac:Automator
步骤:1. 通过mac os自带的辅助功能Automator生成文本转换为语音的.mp3文件,步骤非常简单:新建一个workflow—>获得指定文本—>文本至音频文件—>导入音频文件(全部可以通过傻瓜式拖拽完成),截图如下图1:2. 使用Python脚本写出一段播放音频的代码,这里需要用到pygame库,逻辑思维非常简单,直接上代码:
import os
import time
file = r''
def worker(file):
import pygame
if not os.path.exists(file):
print('File doesn\'t exist')
pygame.mixer.init()
track=pygame.mixer_music.load(file)
while pygame.mixer.music.get_busy()==0:
pygame.mixer_music.play(loops=4)
time.sleep(30)
pygame.mixer_music.stop()
if __name__ == '__main__':
worker(file)3. 在Mac(Linux)下配置crontab指令:
打开终端使用crontab -e 进行编辑,能够使用crontab -e进行改变的前提是mac上的crontab功能启用了,一般需要检查/etc/crontab文件是否存在,如果不存在,就在终端输入命令sudo touch /etc/crontab,创建好文件后使用crontab -e编辑,如果编辑出现失败的情况,就在该命令前加上,变成EDITOR=NANO crontab -e,使用NANO编辑器进行编辑。
格式为:* * * * * ,其中*处表示定时执行的设置,表示定时执行的任务。
关于crontab具体的使用方法,可以自行到网上搜索,基本上是一搜一大堆的。
至此,整个定时任务的DIY已经完成,感兴趣的话,你也试一试吧,基本上有点python编程基础的童鞋都可以做得到~欢迎和我私信交流!