Python中时间比较报错求助:TypeError问题排查
问题分析与解决
错误原因
你遇到的TypeError: 'module' object is not callable,核心问题是你调用的time是模块而非类:
- 你导入了
datetime模块,但直接写time(...)时,Python会认为你想调用time模块(若未正确导入datetime.time),而模块本身不能像函数/类那样直接调用,因此触发报错。
修复方案
有两种直接的修复方式:
方式1:修改导入语句
直接从datetime导入time类:
from datetime import datetime, time
之后原代码可正常使用:
if time(datetime.now().hour, datetime.now().minute) < time(17, 15): # 你的代码逻辑
方式2:明确指定datetime.time
若不想修改导入语句,就在代码里明确引用datetime模块下的time类:
if datetime.time(datetime.now().hour, datetime.now().minute) < datetime.time(17, 15): # 你的代码逻辑
优化写法
更简洁的方式是直接获取当前时间对象,无需手动提取小时和分钟:
if datetime.now().time() < datetime.time(17, 15): # 你的代码逻辑
内容的提问来源于stack exchange,提问作者Jeremy
相关产品推荐
相关产品推荐

