Python 调度方法时缺少自变量

Python 调度方法时缺少自变量,python,schedule,Python,Schedule,我想使用schedule模块安排一个方法,但它不起作用 错误消息如下所示: 警告:缺少参数“self” 这是我的密码: def p_b(self): do print('hello') do do schedule.every().minute.do(p_b) while True: schedule.run_pending() # error comes out. time.sleep(1) 如错误所示,您向方法中添加了“self”。自

我想使用schedule模块安排一个方法,但它不起作用

错误消息如下所示:

警告:缺少参数“self”

这是我的密码:

def p_b(self):
    do
    print('hello')
    do
    do

schedule.every().minute.do(p_b)

while True:
    schedule.run_pending()  # error comes out. 
    time.sleep(1)

如错误所示,您向方法中添加了“self”。自表示在调用时自动传递的类的实例,请参阅fore more info

因此,尝试删除self参数,它应该可以正常工作:

import schedule
import time

def p_b():
    print('hello')

schedule.every().minute.do(p_b)

while True:
    schedule.run_pending()
    time.sleep(1)
编辑

如果类中确实有该方法,而外部有调度程序,则需要从类的实例调用它,例如:

import schedule
import time

class SomeClass:
    def p_b(self):
        print('hello')

if __name__=='__main__':
    some_class = SomeClass()

    schedule.every().minute.do(some_class.p_b)

    while True:
        schedule.run_pending()
        time.sleep(1)

始终包括完整的回溯报告。它告诉我们的比你想象的要多。谢谢。但def p_b(self):是某个类中的函数,所以“self”必须包含整个代码。有没有办法在类中使用self函数的“schedule”呢?参见我的编辑,我还添加了一个类示例。