调用search函数时出现‘module’ object is not callable错误求助
解决‘module’ object is not callable 错误的方案
你碰到的这个'module' object is not callable报错,其实是代码里两个小细节没处理对,我帮你理清楚:
第一个问题:datetime模块的调用方式有误
你写的datetime(1945,1,1,0,0)里,datetime是整个模块的名称,并不是可直接调用的类。有两种修正思路:
- 直接调用模块内的
datetime类:改成datetime.datetime(1945,1,1,0,0) - 换一种导入方式:
from datetime import datetime,这样后续就能直接用datetime(1945,1,1,0,0)来创建时间对象了
第二个问题:producttype的参数值没加引号
producttype = moment-tensor这里,moment-tensor是字符串类型的参数值,必须用单引号或双引号包裹起来。如果不加引号,Python会把它当成两个变量moment和tensor做减法运算,这完全不符合你的需求。
修复后的完整代码
from libcomcat.search import search import datetime eventlist = search( starttime = datetime.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' )
如果想简化datetime的调用,也可以用这种写法:
from libcomcat.search import search from datetime import datetime eventlist = search( starttime = datetime(1945,1,1,0,0), endtime = datetime.now(), maxlatitude = -5.747, minlatitude = -11.153, maxlongitude = 121.619, minlongitude = 104.7, producttype = 'moment-tensor' )
试试上面的代码,应该就能解决这个报错了。
内容的提问来源于stack exchange,提问作者greensquare68
相关产品推荐
相关产品推荐

