我正在尝试创建自己的模块 (mi_modulo.py) 并将我在 Jupyter Notebook 脚本中定义的所有函数移至此处,以便它看起来更干净。
但是,当我尝试使用已移至模块的这些功能时,我无法全部使用它们,并且收到以下消息: 模块“mi_modulo”没有属性“train4_data_import”
我已经安装了 Anaconda 3.0,并且正在通过 Jupyter Notebooks 运行 Python 3.7.0。 (如果表达听起来很尴尬,请原谅我,我懂一点 Python,但我并不真正了解所有安装、软件、IDE 等细节。)
## mi_modulo.py ##
def train4_data_import(file_name):
df = pandas.read_excel(file_name)
force = df["Signal 1"].values[13:]
acceleration1 = df["Signal 2"].values[13:]
acceleration2 = df["Signal 3"].values[13:]
return force, acceleration1, acceleration2
def hola_mundo():
print("whatever")
## script ##
import pandas
import mi_modulo as mi
mi.hola_mundo()
mi.train4_data_import("Tren4.xlsx")
这就是我得到的: (我本来打算显示一张图像,但我不知道如何使用这个 stackoverflow 新表单样式来做到这一点)
whatever
AttributeError Traceback (most recent call last)
<ipython-input-18-69a38929f7e6> in <module>()
3 mi.hola_mundo()
4
----> 5 mi.train4_data_import()
AttributeError: module 'mi_modulo' has no attribute 'train4_data_import'
我不明白为什么它能够读取一个函数而不能读取另一个函数。
---------------------------- 编辑 1 --------- -------------------
按照 U9-Forward 的建议进行操作:
import pandas
from mi_modulo import *
hola_mundo()
train4_data_import("Tren4.xlsx")
我现在收到以下错误:
whatever
NameError Traceback (most recent call last)
<ipython-input-25-e1885200beb7> in <module>()
3 hola_mundo()
4
----> 5 train4_data_import("Tren4.xlsx")
NameError: name 'train4_data_import' is not defined
最佳答案
在 jupyter-notebook 中,有时您需要重新启动内核才能导入所有未保存的模块。此外,您需要导入该模块中自定义模块的所有依赖项。
关于python - 模块 "x"没有属性 "y",创建我自己的模块 .py,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53942060/