无法将我的模块导入另一个模块

时间:2017-04-03 11:24:23

标签: python-3.x intellij-idea module python-import

专业的Python新手在这里。我创建了一个名为aviation的Python模块,其中包含一个名为database.py的文件。

我有另一个名为core的模块,其中有一个名为calculator.py的文件。

我想将aviation.database.py导入我的calculator.py

基本结构如下:

My project
    aviation (module)
        - database.py
    core (module)
        - calculator.py
    test.py

我的calculator.py文件具有导入内容,例如:

from aviation import database as aviation_database

这个模块无法识别,我得到一条红色波浪线表示同样多。

如果我在test.pyaviation之外创建另一个文件core并添加上述导入,则此tests.py文件中没有问题 - 导入正常。

看来我需要做一些事情,以便我的模块可以从另一个模块导入...它允许我导入已安装的模块(如date),但我不知道我缺少什么。

我正在使用IntelliJ IDE,我的代码位于常规的C:\ Users \\ IdeaProjects目录中。

有人可以告诉我应该做什么以及为什么我会遇到这个问题吗?

2 个答案:

答案 0 :(得分:0)

我建议您在模块中创建 __ init __ 文件。

python3 doc表示:

  

需要 __ init __。py 文件才能让Python对待   目录包含包;这是为了防止   无意中具有通用名称的目录,例如string   隐藏稍后在模块搜索路径上发生的有效模块。在   最简单的情况是, init .py只能是一个空文件,但它可以   还可以执行包的初始化代码或设置全部   变量,稍后描述。

所以您的目录结构变为

My project
    aviation (module)
        - database.py
        - __init__.py
    core (module)
        - calculator.py
        - __init__.py
    test.py

现在从其他软件包中导入您想要的 __ init __ 文件中的所有内容。就像航空的 __ init __。py 文件写

一样
import database 

同样,对于核心的 __ init __。py 现在在calculator.py中,您可以通过 -

导入它们
from aviation import database

如果有这个帮助,请告诉我!

谢谢

答案 1 :(得分:0)

就这么简单。

例如,您有一个已编写的代码,例如m yname.py,并且您希望将整个模块导入新代码,例如newwork.py

步骤1.打开代码newwork.py
与其他导入一样,只需写下:

import myname 
myname

多数人。

现在,您将整个nyname代码放在newwork中。当你运行新工作时,它会同时运行nymame。

我希望这对某人有帮助吗?