导入main.py中的所有包



我想只在一个文件中导入我的所有包。

假设我有一个main.py文件,我在其中调用我的所有类(来自src文件夹中的其他.py文件(:

main.py
|-- src
|-- package1.py
|-- package2.py

main.py看起来像这样:

from src.package1 import *
from src.package2 import *
def main():
class1 = ClassFromPackage1()
class2 = ClassFromPackage2()
if __name__ == '__main__':
main()

在包装1.py我进口,比如说numpy,scipy和pandas

import numpy
import scipy
import pandas
class ClassFromPackage1():
#  Do stuff using numpy, scipy and pandas

在package2.py中,我使用numpy和scikit学习:

import numpy
import sklearn
class ClassFromPackage2():
#  Do stuff using numpy and sklearn

有没有一种方法可以在一个文件Foo.py中导入所有包,我只写:

import numpy
import sklearn
import scipy
import pandas

并在src.py中导入这个Foo.py?比如package1.py

import Foo
class ClassFromPackage1():
#  Do stuff using numpy, scipy and pandas

这是个好主意吗?它能减少内存消耗吗?它会帮助python更快地启动main.py吗?

看起来你想让代码更干净?你可以做的是创建一个像foo.py这样的文件,并将所有导入放到其中。然后你可以通过导入foo.py内部的模块

from foo import *

这将间接导入所有模块。

您已经完成的方式是通常的方式。与C/C++中的头文件类似,您可以显式地设置依赖关系。这是一件好事。

你问它是否会运行得更快,答案是否定的。所有进口都是共享的。这有时会造成不必要的副作用,但这不是问题所在。

最新更新