模块“x”没有属性“y”,创建我自己的模块 .py

sdi*_*abr 4 python module

我正在尝试创建我自己的模块 (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)

mam*_*mun 6

在 jupyter-notebook 中,有时需要重启内核才能导入所有未保存的模块。此外,您需要为该模块中的自定义模块导入所有依赖项。