Python中如何导入子文件夹中的模块文件?

Python中导入同文件目录路径下的python文件,直接import即可。若是想导入当前目录下的某个子文件夹中的python模块文件,那该如何是好呢?是不是只要在哪个子文件夹里创建一个空的__init__.py即可呢?

喜欢这个问题 | 分享 | 新建回答

回答

冯纪忠雄

Mar 1, 2019
0 赞

是的!要想导入子文件夹下的python模块文件,只要添加一个空的__init__.py文件即可;有了这个文件名的文件,python就可以导入该文件夹下的模块文件。示例如下,主程序是main.py文件,要在main.py中导入子文件夹test下的fun.py文件,就在test.py文件夹下创建一个空的__init__.py文件即可。

如上例所示,有了__init__.py文件,于是在main.py文件中可如下所示导入模块:

import test.fun
test.fun.output_pi()

如此所示,即可调用成功。



上述的__init__.py文件也可以不为空,可在该文件中导入想导入的模块;__init__.py文件可示例如下:

from fun import *

此时,在main.py可如下这样导入模块:

import test
test.output_pi()

如此所示,也是可以调用成功的。