我正在尝试创建我自己的模块 (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")
Run Code Online (Sandbox Code Playgroud)
这就是我得到的:(我打算展示一张图片,但我不确定如何使用这种 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'
Run Code Online (Sandbox Code Playgroud)
我不明白为什么它能够读取一个函数而不能读取另一个函数。
-----------------------------编辑 1 ------------------- ---------
做 U9-Forward 建议的事情:
import pandas
from mi_modulo import *
hola_mundo()
train4_data_import("Tren4.xlsx")
Run Code Online (Sandbox Code Playgroud)
我现在收到以下错误:
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
Run Code Online (Sandbox Code Playgroud)