我知道有关于此错误的几个主题,但我似乎无法为此找到正确的解决方案。
from libcomcat.search import search
import datetime
eventlist = search(starttime = datetime(1945,1,1,0,0),
endtime = datetime.datetime.now(),
maxlatitude = -5.747, minlatitude = -11.153,
maxlongitude = 121.619, minlongitude = 104.7,
producttype = moment-tensor)
并返回'module'对象不可调用。我试图确保search
是一个可调用的函数,而不是通过打印它的模块
print (search)
在TypeError: 'module' object is not callable中建议并返回:
函数搜索0x7f4308fe5ea0
我到底错过了什么?为什么看起来search
既是函数又是模块?
我尝试过的其他事情:
1.按原样导入libcomcat并将其作为libcomcat.search.search
调用仍然会得到相同的错误
2.有人建议也将它导入到父目录中的 innit .py(我不知道为什么?)仍然无法正常工作
答案 0 :(得分:3)
我认为你遇到的问题是与datetime函数有关。模块datetime有一个名为datetime的函数,您尝试使用该函数。要么改变
import datetime
到
from datetime import datetime
或使用datetime.datetime()
答案 1 :(得分:1)
此处不可调用的模块对象为datetime
,表达式为:
datetime(1945,1,1,0,0)
你可能想要的是:
datetime.datetime(1945,1,1,0,0)
或者,将import datetime
更改为from datetime import datetime
,然后将datetime.datetime.now()
更改为datetime.now()
。