这是我的文件夹结构:
script.py
api/
__init__.py
charts/
__init__.py
charts.py
在script.py
中,我有:
还有电话:
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
我怎么解决这个问题?在
从
api
下的chart
目录导入模块charts.py
。(有关模块别名和导入,请参见this问题)现在,
chart
是一个模块引用,而不是方法charts
。在要调用图表,必须使用
^{pr2}$(模块
charts
内的方法charts
)。在给定您的文件夹结构,
charts
目录包含一个charts.py
文件。在因此
from api.charts import charts
将名称charts
导入为一个模块。在似乎
charts
模块有一个名为charts
的函数。你以为你在调用函数,但你在调用模块。在就这么做吧
(如果你问我的话,
charts
会让你觉得很有意思)相关问题 更多 >
编程相关推荐