Отсутствует аргумент self при планировании метода - PullRequest
0 голосов
/ 16 февраля 2020

Я бы хотел запланировать метод, используя модуль расписания, но он не работает.

Сообщение об ошибке выглядит следующим образом:

Предупреждение: отсутствует аргумент '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)

1 Ответ

1 голос
/ 16 февраля 2020

Как показывает ошибка, вы добавили «self» в метод. Self представляет экземпляр класса, который передается автоматически при вызове, см. здесь для получения дополнительной информации.

Поэтому попробуйте удалить параметр 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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...