在init文件中导入python模块
我有如下结构中的python脚本:在init文件中导入python模块,python,init,python-module,Python,Init,Python Module,我有如下结构中的python脚本: Folder: -main.py SubFolder: -file1.py -file2.py -filen.py -__init__.py file1有一个模块,让我们称它为“module1()”和一个变量“variable1” 文件2有“module2()”和“variable2”等 到目前为止,它工作得很好,我采用了这种方式: 大体上: from subFolder imp
Folder:
-main.py
SubFolder:
-file1.py
-file2.py
-filen.py
-__init__.py
file1有一个模块,让我们称它为“module1()”和一个变量“variable1”
文件2有“module2()”和“variable2”等
到目前为止,它工作得很好,我采用了这种方式:
大体上:
from subFolder import file1, file2
file1.module1()
file2.module2(file1.variable1)
file1.variable1
但是由于子文件夹中有很多文件,我想让它更干净、更优雅。
我尝试在init.py文件中写入此文件
from file1 import module1
from file2 import module2
etc
然后大体上:
import subFolder as sf
sf.module1()
sf.module2(sf.variable1) <--
将子文件夹作为sf导入
sf.module1()
sf.module2(sf.variable1)您需要显式导入它,但是由于您提到您的“子文件夹”中有很多模块,我建议您使用
因此,您可以键入:
from subFolder import *
它将导入您在\uuuuuuuuuuuuuuuuuuuuuuuuu.py
中指定的所有内容
更多细节和示例请参见@alec thomas的答案
优点:
- 无需明确指定每个模块、函数或变量
- 一次导入就可以为您带来所需的一切
缺点:
- 每次添加、重命名或删除子模块中的内容时,您必须记住更新
\uuuuuu all\uuuuu
- 随着时间的推移,一旦你有了很多子模块,你就不清楚到底要导入什么了
您需要显式导入它,但由于您提到您的“子文件夹”中有很多模块,我建议您使用
因此,您可以键入:
from subFolder import *
它将导入您在\uuuuuuuuuuuuuuuuuuuuuuuuu.py
中指定的所有内容
更多细节和示例请参见@alec thomas的答案
优点:
- 无需明确指定每个模块、函数或变量
- 一次导入就可以为您带来所需的一切
缺点:
- 每次添加、重命名或删除子模块中的内容时,您必须记住更新
\uuuuuu all\uuuuu
- 随着时间的推移,一旦你有了很多子模块,你就不清楚到底要导入什么了