在特定时间运行命令,否则运行其他命令

2 投票
2 回答
2317 浏览
提问于 2025-04-16 12:14

我想做的是在特定的时间段内更换我的桌面壁纸。比如说,我在家用一张壁纸,而在学校用另一张(因为这是台笔记本电脑)。我希望能有一个Python脚本,能够在工作日的08:00到14:15之间运行一个命令来设置我的壁纸。

我现在用的是Python 3.13和Arch Linux。我遇到的问题是如何判断今天是星期几,以及如何比较时间。我知道怎么通过Python运行命令(用os.system('命令'))。

2 个回答

0

Wooble的回答是对的。如果你想要一个效率稍微低一点的版本,但不需要记住每一天的索引,你可以使用星期几的名称(假设你的语言设置是英语):

import datetime

week_day = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
today = datetime.date.today()
now = datetime.datetime.now().time()

def change_wallpaper():
    print "Changed!"

if today.strftime("%A") in week_day and (now > datetime.time(8) and now < datetime.time(14,15)):
    change_wallpaper()
6

在编程中,有时候我们会遇到一些问题,特别是在使用某些工具或库的时候。这些问题可能会让我们感到困惑,不知道该怎么解决。比如,有人可能在使用某个功能时,发现它没有按照预期工作,或者出现了错误信息。这种情况下,我们可以去一些技术论坛,比如StackOverflow,寻找答案。

在这些论坛上,很多人会分享他们的经验和解决方案。你可以看到其他人遇到的类似问题,以及他们是如何解决的。这些讨论通常会提供一些代码示例,帮助你更好地理解如何处理这些问题。

总之,遇到问题时,不要害怕去寻求帮助,很多人都曾经历过类似的困扰,分享他们的经验可以让我们更快地找到解决办法。

import datetime

day_of_week = datetime.date.today().weekday() # 0 is Monday, 6 is Sunday
time = datetime.datetime.now().time()

if day_of_week < 5 and (time > datetime.time(8) and time < datetime.time(14,15)):
    do_something()

撰写回答