2017-09-11 88 views
2

我想在我的應用程序使用rq_scheduler庫,這是我的代碼:蟒蛇 - 類型錯誤:「模塊」對象不是可調用

import telepot 
import sys 
import time 
import schedule 
import datetime 
from redis import Redis 
from rq_scheduler import Scheduler 


scheduler = Scheduler(connection=Redis()) 



def handle(): 
    print("hello") 

def main(): 
    scheduler.enqueue_at(datetime(2017, 9, 11, 22, 41),handle) 


if __name__ == '__main__': 
    main() 

,我得到這個: 更新:

Traceback (most recent call last): 
    File "***\__init__.py", line 22, in <module> 
    main() 
    File "***\__init__.py", line 18, in main 
    scheduler.enqueue_at(datetime(2017, 9, 11, 22, 41),handle) 
TypeError: 'module' object is not callable 

1-我的錯誤在哪裏?爲什麼我得到這個?

+0

可能重複https://stackoverflow.com/questions/4534438/typeerror-module-object-is-not-callable – Akash

+2

它必須是'datetime.datetime(...)' – PRMoureu

+0

@Akash在精神上,是的。不過,我會猶豫關閉這個問題的重複。應該有一篇維基百科文章「以他們的模塊命名的Python類列表」。 :) – chepner

回答

2

datetime是一個模塊,它也聲明瞭一個名爲datetime的類。

scheduler.enqueue_at(datetime.datetime(2017, 9, 11, 22, 41),handle) 

from datetime import datetime 
... 
schedule.enqueue_at(datetime(2017, 9, 11, 22, 41), handle) 

在理想情況下,這個類將具有PEP-8兼容的名稱(即,datetime.DateTime),以避免混亂。

相關問題