调用函数

时间:2018-04-03 01:53:57

标签: python

我知道有关于此错误的几个主题,但我似乎无法为此找到正确的解决方案。

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中建议并返回:

  

函数搜索0x7f43​​08fe5ea0

我到底错过了什么?为什么看起来search既是函数又是模块?

我尝试过的其他事情: 1.按原样导入libcomcat并将其作为libcomcat.search.search调用仍然会得到相同的错误 2.有人建议也将它导入到父目录中的 innit .py(我不知道为什么?)仍然无法正常工作

2 个答案:

答案 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()