专业的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.py
和aviation
之外创建另一个文件core
并添加上述导入,则此tests.py
文件中没有问题 - 导入正常。
看来我需要做一些事情,以便我的模块可以从另一个模块导入...它允许我导入已安装的模块(如date
),但我不知道我缺少什么。
我正在使用IntelliJ IDE,我的代码位于常规的C:\ Users \\ IdeaProjects目录中。
有人可以告诉我应该做什么以及为什么我会遇到这个问题吗?
答案 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。
我希望这对某人有帮助吗?