我正在编写一个 Python 脚本,用作闹钟,我的计算机将从文件夹中随机选择一个视频文件并在输入的时间播放它。
我知道我可以对其进行配置,以便每天晚上我只需在运行它时给它一个输入,让它睡眠直到预定的时间,但我不想依赖命令窗口整夜保持打开状态(主要是因为它感觉很丑)。
我可以将其设置为 cronjob,但时间每天都会变化。我可以让脚本设置 cronjob(我假设),但最终可能会导致 cronjob 积压。也许我可以以某种方式将这个特定的 cronjob 指示为“闹钟”,然后删除旧的,重新制作新的?我有一些不相关的 cronjob,我不想让我的脚本触及它们。
或者也许存在一个我还没有想到的完全不同的解决方案。
答案1
这里: https://tecadmin.net/one-time-task-scheduling-using-at-commad-in-linux/
Linux 有一个at
一次性使用调度的命令。你可以像这样使用它:
echo "python alarm.py" | at 8:00 AM
如果你想在 8:00 设置闹钟。
编写一个文件 makeAlarm.py,如下所示:
import subprocess
time = input("What time would you like your alarm clock to be set for?:\n")
subprocess.Popen("echo python alarm.py | at " + time)
答案2
一个选项是使用一个脚本,但有多个 cron 条目 - 每个条目对应一个你希望闹钟发生的时间。
脚本本身可以这样编写,以便每次执行时随机选择一个文件进行播放。
这将为您提供播放随机文件的功能,并可以灵活地选择每天播放文件的时间。您也不会主动修改 crontab 文件,因此不存在破坏其他 cron 作业的风险。如果您想更改闹钟播放的时间,则必须事先手动编辑 cron 作业。
答案3
您的桌面可能有一个“Alarm”小部件,Linux 就是 Linux,您可能可以让它运行脚本。在 KDE 上,KAlarm 可以做到这一点。但 KAlarm 还可以播放声音,您可以给出软链接的名称,其他东西会随机分配给您的某个声音。还有大量的暂停/重复选项。