我正在尝试在Python3中导入我自己的文件。我的目录如下所示:
/path/folder/__init__.py
/path/folder/custom_module2.py
/path/folder/custom_module.py
/path/launcher.py
INIT:
import custom_module
custom_module:
import custom_module2
def custom_function:
custom_module2.custom_function()
print('world')
custom_module2:
def custom_function2:
print('hello')
启动器:
import folder
custom_function()
它说没有名为custom_module的模块
答案 0 :(得分:-1)
实际上,如果您只是放置一个名为__init__.py
文件的空文件,python会将该目录视为一个包,您可以使用点表示法将其导入。
__init__.py
custom_module2.py
custom_module.py
然后从launcher.py
from folder.custom_module import custom_function
custom_function()
需要 init .py文件才能使Python将目录视为包含包;这样做是为了防止具有通用名称的目录(例如字符串)无意中隐藏稍后在模块搜索路径上发生的有效模块。在最简单的情况下, init .py可以只是一个空文件,但它也可以执行包的初始化代码或设置 all 变量,稍后将对此进行描述。 p>