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

Python 仅在特定时间之间运行命令,否则运行其他命令,python,Python,我想做的是在特定时间之间更换壁纸。例如,我有一张在家里使用的壁纸,还有一张在学校使用的壁纸(这是一台笔记本电脑)。我想做的是有一个python脚本,它运行一个shell命令,该命令只在工作日和08:00到14:15之间设置墙纸 我正在使用Python3.13和ArchLinux。我遇到的问题是找到一周中的哪一天,并比较时间。我知道如何通过python(os.system('command')运行shell命令。import datetime 星期天=datetime.date.today().w

我想做的是在特定时间之间更换壁纸。例如,我有一张在家里使用的壁纸,还有一张在学校使用的壁纸(这是一台笔记本电脑)。我想做的是有一个python脚本,它运行一个shell命令,该命令只在工作日和08:00到14:15之间设置墙纸

我正在使用Python3.13和ArchLinux。我遇到的问题是找到一周中的哪一天,并比较时间。我知道如何通过python(os.system('command')运行shell命令。

import datetime
星期天=datetime.date.today().weekday()#0是星期一,6是星期天
time=datetime.datetime.now().time()
如果一周中的第天<5且(时间>日期时间时间时间(8)且时间<日期时间时间时间(14,15)):
做某事

伍布尔的答案是正确的。如果您希望使用效率稍低的版本,但不必记住每天的索引,则可以使用工作日名称(假设您的本地语言为英语):

导入日期时间
星期日=[“星期一”、“星期二”、“星期三”、“星期四”、“星期五”]
今天=datetime.date.today()
now=datetime.datetime.now().time()
def change_墙纸():
打印“已更改!”
如果今天.strftime(“%A”)在星期日和(现在>datetime.time(8)和现在
与其使用Python来执行此操作,不如使用schedule来安排作业?请参阅了解详细信息。大体上我同意Andre的观点,但对于笔记本电脑来说,这可能不是一个好的解决方案。也就是说,如果笔记本电脑处于睡眠模式,cron可能不会启动;不知怎的,我的目光滑向了文档中的isoweekday()。更正。Python允许您这样做:
。。。和datetime.time(14,15)>time>datetime.time(8):
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()
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()