TypeError: 'module' object is not callable from Jupyter notebook

TypeError: 'module' object is not callable from Jupyter notebook

我正在尝试使用与脚本位于同一目录中的模块 运行,但出现以下错误:

TypeError: 'module' object is not callable

这之前是有效的,但我对 sys.path 列表做了一些修改,因为我想从其他目录调用模块,从那时起它就停止工作了。

这是我文件夹的结构:

Neural_Network/
  split_data.py
  test.ipynb

我在执行 test.ipynb:

时遇到错误
import split_data
import os

print(split_data.__file__)
trainset, testset, valset = split_data.split_data_func(os.path('data'))

TypeError                                 Traceback (most recent call last)
~\AppData\Local\Temp/ipykernel_4936/633432209.py in <module>
      4 
      5 print(split_data.__file__)
----> 6 trainset, testset, valset = split_data.split_data_func(os.path('data'))
      7 
      8 """"

TypeError: 'module' object is not callable

print(split_data.__file__) 给出了正确的模块路径。

模块split_data.py只有一个函数:

import math
import os
import random
def split_data_func(path):
...
  return trainset, testset, valset

这之前是有效的,我不知道会发生什么。

在 sys.path 我有 Neural_Network/ 目录的路径。

更新

我正在寻找有关 split_data 模块的错误,错误与 os 模块有关,我只是更改为:

trainset, testset, valset = split_data.split_data_func(os.path.join(os.getcwd(),'dataset_days'))

os.path 是一个包含函数的模块。因为它是一个模块,所以你不能把它当作一个函数来使用。您是指 pathlib.Path 而不是 os.path 吗?或者你的意思是调用其中的一个函数,比如 os.path.join('data', split_data.__file__)?

该错误与笔记本中 运行 的代码无关,这是一个常见的 python 错误。