模块对象不是callab

2024-10-02 22:26:35 发布

您现在位置:Python中文网/ 问答频道 /正文

这是我的文件夹结构:

script.py
api/
   __init__.py
   charts/
         __init__.py
         charts.py

script.py中,我有:

^{pr2}$

还有电话:

charts('Alternative-Songs', '1997')

billboard.py不在上面的结构中,因为它是通过python setup.py install安装在我的系统上的,它有{}的方法,如下所示:

billboard.ChartData(chart_name, date)

charts.py,使用billboard.py方法定义charts()

def charts(chart_name, date):
    chart = billboard.ChartData(chart_name, date, quantize=True)
    return chart

但是当我运行script.py时,我得到了以下错误:

Traceback (most recent call last):
  File "script.py", line 70, in <module>
    print (charts('Alternative-Songs', '1997'))
TypeError: 'module' object is not callable

我怎么解决这个问题?在


Tags: 方法namepy文件夹dateinitchartscript
2条回答
from api.charts import charts

api下的chart目录导入模块charts.py。(有关模块别名和导入,请参见this问题)

现在,chart是一个模块引用,而不是方法charts。在

要调用图表,必须使用

^{pr2}$

(模块charts内的方法charts)。在

给定您的文件夹结构,charts目录包含一个charts.py文件。在

因此from api.charts import charts将名称charts导入为一个模块。在

似乎charts模块有一个名为charts的函数。你以为你在调用函数,但你在调用模块。在

就这么做吧

print (charts.charts('Alternative-Songs', '1997'))

(如果你问我的话,charts会让你觉得很有意思)

相关问题 更多 >