Skip to main content
 首页 » 编程设计

python之类型错误 : 'module' object is not callable之using datetime

2025年05月04日15shihaiming

<分区>

抱歉没有找到任何其他修复方法,所以我创建了一个新问题。 我正在尝试运行将当前小时、分钟和秒打印到屏幕上的代码。我用来执行此操作的代码是:

def time(): 
    import datetime 
    import time 
    time.sleep(1) 
    nowTime = datetime.now() 
    print ('Right now it's %s hours, %s minutes and %s seconds.' % (nowTime.hour,nowTime.minute,nowTime.second)) 
    time.sleep(5) 

尝试执行这段代码时出现以下错误:

Traceback (most recent call last): 
  File "/Users/Teolicht/Desktop/Python/testy.py", line 219, in <module> 
    start() 
  File "/Users/Teolicht/Desktop/Python/testy.py", line 18, in start 
    questions() 
  File "/Users/Teolicht/Desktop/Python/testy.py", line 34, in questions 
    day() 
  File "/Users/Teolicht/Desktop/Python/testy.py", line 52, in day 
    time() 
TypeError: 'module' object is not callable 

start()、questions() 和 day() 是程序在经历 time 之前经历的一些其他函数()。如果我尝试直接执行 time(),它会起作用!所以,这是 time() 函数从开始到结束的完整代码:

from datetime import datetime 
import time 
import random 
import sys 
 
def start(): 
    import time 
    name = input('Hi. What is your name? ') 
    print ('Nice to meet you, ' + str(name) + '.') 
    time.sleep(1) 
    print ('How old are you?') 
    age = input() 
    time.sleep(1) 
    print (age + '! Cool.') 
    time.sleep(2) 
    questions() 
 
def questions(): 
    import time 
    print ('Some things you can ask me:') 
    time.sleep(1) 
    print ('• What day is today? (qdh)') 
    time.sleep(1) 
    print ('• What time is it? (qhs)') 
    time.sleep(1) 
    print ('• I want to play a game! (qjj)') 
    time.sleep(1) 
    print ('• How many days till my birthday? (qda)') 
    time.sleep(1) 
    questionsAnswer = input() 
    if questionsAnswer == 'qdh': 
        day() 
    elif questionsAnswer == 'qhs': 
        time() 
    elif questionsAnswer == 'qjj': 
        game() 
    else: 
        birthday() 
 
def day(): 
    import time 
    time.sleep(1) 
    nowDay = datetime.now() 
    print ('Today is %s/%s/%s' % (nowDay.day,nowDay.month,nowDay.year)) 
    time.sleep(2) 
    dayAnswer = input('Want to know what time it is? "Y" for yes and "N" for no: ').lower() 
    if dayAnswer == 'n': 
        questions() 
    else: 
        time() 
 
def time(): 
    import time 
    time.sleep(1) 
    nowTime = datetime.now() 
    print ('Right now it's %s hours, %s minutes and %s seconds.' % (nowTime.hour,nowTime.minute,nowTime.second)) 
    time.sleep(5) 
        questions() 
       ... 

可能是 start()、questions() 或 day() 中的某些内容导致了错误。有任何想法吗?非常感谢!