Python:在同一目录中调用模块

pierre_j

我无法在同一目录中导入模块。基本上,这是我的组织

alex (folder)
 |
 |- alex (folder)
 |   |- __init__.py
 |   |- commons.py
 |   |- KnowledgeBase.py
 |
 |- test.py

在我的init .py文件中,我有以下几行代码可简化test.py中的Commons和KnowledgeBase导入。它似乎起作用。

from .KnowledgeBase import KnowledgeBase
from .commons import *

在我的KnowledgeBase.py文件中,我有一个名为KnowledgeBase的类。

在commons.py中,我有不同的对象:

  • 名为CDE的命名元组

  • 一个称为TimePeriod的对象

然后,在test.py中,我可以用这种方式调用对象。

import alex as al
do stuff with al.KnowledgeBase
do stuff with al.CDE
do stuff with al.TimePeriod

现在什么不起作用。

我在KnowledgeBase.py中调用commons.py模块。

import alex as al
stuff with al.CDE ...

我收到以下错误消息。

AttributeError: module 'alex' has no attribute 'CDE'

如果我以传统方式这样做:

import commons as AC
stuff with AC.CDE ...

我收到以下错误消息。

ModuleNotFoundError: No module named 'commons'

而且,如果我删除了init .py文件中的所有内容,它都可以工作,但是之后,我将无法在test.py中使用“简单模块调用”。

如果我在test.py中保留一个空的init .py文件,而不是简单地编写

import alex

我必须声明所有进口:

from alex import KnowledgeBase
from alex import commons

拜托,我该怎么做才能将不同的python模块导入alex“简单”中,同时又可以将模块从alex文件夹导入到alex文件夹中的其他模块中?

预先感谢您的帮助。祝您下午愉快,Bests,

pierre_j

找到合适的格式后,我会回来。在KnowledgeBase.py中,从公用区导入函数或对象的正确方法是键入:

from . import commons as AC

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

__init__.py在同一目录中找不到模块

从同一目录调用Python subprocess.run时不起作用

如何从同一目录导入python类文件?

Python 3:与脚本位于同一目录中的模块:“ ImportError:未命名模块”

从同一目录导入__init__.py和模块时,python 2.7和3.3+之间的区别

在Python中,如何从同一目录中的__init__.py导入

python3-在同一目录中导入文件

如何使用Cargo / Rust在模块中包含来自同一目录的文件?

在同一目录中需要模块

Anaconda软件包问题:内部模块找不到位于同一目录中的数据文件

从同一目录中的所有模块导入并调用相同的功能

在Python中同一目录中的多个文件进行循环

如何从同一目录中的模块导入?

从同一目录中的模块导入模块时,为什么必须在模块前加点?

即使与我正在使用的文件位于同一目录中,也无法导入模块

在python中从同一目录修改多个.csv文件

js文件位于同一目录中时找不到模块错误

将图像保存到同一目录的Python文件夹中

从同一目录中的其他python脚本导入python脚本的方法

在同一目录中创建文件的副本

与主应用程序在同一目录中打开(读取,写入)文件-python / kivy

是否有必要将Node模块和Grunt文件保留在同一目录中?

ImportError与模块在同一目录中

在同一目录中使用模块。“调用未定义的子程序”

python中同一目录下模块之间的调用函数

如何从python中的同一目录导入文件?

同一目录下几个连续文本文件中的列删除,python

如何从同一目录中导入整个模块

尝试读取与 python 文件位于同一目录中的文件但收到 FileNotFoundError