我正在尝试编写一个自动通知系统,它返回一个通知(迈克尔)基于特定的日期和时间。我使用了一个类对象,但当它调用分配的方法时,它不返回任何输出。代码没有给出错误,这使得一切变得令人困惑。我在2分钟前运行了代码,当当前时间到来时,什么也没有发生。这是我的第一个python项目。
#import required modules
import datetime
from datetime import date
import calendar
#Get the variable for time right mow
dt = datetime.datetime.now()
#remove the millisecond
x = dt.strftime("%H:%M:%S")
#define class
class Change:
def __init__(self):
# define value for date_str argument in mon method
self.date_str = x
def mon(self, date_str):
if date_str == "10:22:00":
print('michael')
#class instantiation via object
#set value for today's day name
my_date = date.today()
Today = calendar.day_name[my_date.weekday()]
if Today == 'Thursday':
if x == "10:22:00":
#call object when if statement is true
assembly_end_mental_maths_starts = Change()
assembly_end_mental_maths_starts.mon("10:22:00")
发布于 2020-09-17 18:20:46
在我看来,这是一个经典的XY problem,
但首先你的问题是,正如@ForceBru所说的,你是在那个时候运行程序来触发它,即使这样,如果你循环它,也不是一个好的解决方案,因为条件将需要在那一秒触发,这可能会在循环周期之间传递。你要找的是schedule。
How do I get a Cron like scheduler in Python? [closed]
import schedule
import time
def job():
print("I'm working...")
schedule.every(10).minutes.do(job)
schedule.every().hour.do(job)
schedule.every().day.at("10:30").do(job)
while 1:
schedule.run_pending()
time.sleep(1)
https://stackoverflow.com/questions/63935808
复制相似问题