为什么我的我的班级方法无法打印输出?

时间:2020-09-17 10:08:39

标签: python class object methods output

我正在尝试编写一个自动通知系统的代码,该系统将根据特定的日期和时间返回一个通知(Michael)。我使用了一个类对象,但是当它调用分配的方法时,它不返回任何输出。该代码没有给出任何错误,这使所有的混乱。我提前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")

1 个答案:

答案 0 :(得分:0)

在我看来,这是经典的https://console.developers.google.com

但是首先要问的是问题,正如@ForceBru所说的那样:您是否正好在那个时候运行程序以使其触发,即使循环,即使那样也不是一个好的解决方案,因为条件必须恰好在那个时间触发第二,这可能会在循环周期之间传递。 您正在寻找的是XY problem

schedule

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)