簡體   English   中英

導入 main.py 中的所有包

[英]Import all packages in main.py

我只想將我所有的包導入到一個文件中。

假設我有一個 main.py 文件,我在其中調用了我所有的 class(來自位於 src 文件夾中的 others.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()

在 package1.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

這是一個好主意嗎? 它會減少 memory 消耗嗎? 它會幫助 python 更快地啟動 main.py 嗎?

看起來你想讓代碼更干凈? 您可以做的是創建一個像foo.py這樣的文件並將所有導入文件放入其中。 然后你可以通過做在foo.py中導入模塊

from foo import *

這將間接導入所有模塊。

您已經完成的方式就是通常的方式。 與 C/C++ 中的 header 文件類似,您可以明確依賴關系。 這是一件好事。

你問它是否會跑得更快,答案是否定的。 所有導入都是共享的。 這有時會導致不必要的副作用,但這不是這里的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM