调用函数时的AttributeError

2024-05-16 21:09:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图使一些东西,显示一些消息取决于时间,但我得到以下错误时,我试图调用函数。你知道吗

Traceback (most recent call last):
  File "autodrive.py", line 31, in <module>
    goodbye()
  File "autodrive.py", line 19, in goodbye
    now = datetime.now()
AttributeError: 'module' object has no attribute 'now'

import datetime
import random
import re 
import sys

def goodbye():
    now = datetime.now()
    now_time = now.time()

    bye = ['byee', 'see u', 'see you', 'au revoir']
    night = ['goodnight', 'gn', 'bye', 'sleep well', 'bonne nuit']

    if now_time >= time(21,30) or now_time <= time(4,00):
        print random.choice(night)

    if now_time >= time(4,00) or now_time <= time(21,30):
        print random.choice(bye)

goodbye()

Tags: inpyimportdatetimetimelinerandomnow
3条回答

请随便用一个

import datetime
dt= datetime.datetime.now()


from datetime import datetime
dt= datetime.now()

您导入了模块datetime。该模块包含一个类,也称为datetime,它有一个名为now的类方法。你需要引用整个事件:

now = datetime.datetime.now()

写:

from datetime import datetime

更新(完整代码):

from datetime import datetime
import datetime as dt
import random
import re
import sys

def goodbye():
    now = datetime.now()
    now_time = now.time()

    bye = ['byee', 'see u', 'see you', 'au revoir']
    night = ['goodnight', 'gn', 'bye', 'sleep well', 'bonne nuit']

    if now_time >= dt.time(21,30) or now_time <= dt.time(4,0):
        print( random.choice(night))

    if now_time >= dt.time(4,0) or now_time <= dt.time(21,30):
        print(random.choice(bye))

goodbye()

相关问题 更多 >