我正在嘗試將我的代碼庫重新組織到正確的Python包(帶有子包)中,以準備上傳到PyPI。我有以下目錄(測試):將子包中的類用Python包導入到主名稱空間中
Py6S/
__init__.py
test.py
Params/
__init__.py
AeroModel.py
AeroModel.py包含:
class AeroModel:
NO_AEROSOL=0
CONTINENTAL=1
MARITIME=2
URBAN=3
USER=4
DESERT=5
BIOMASS_BURNING=6
STRATOSPHERIC=7
的Py6S 初始化的.py包含:
__all__ = ["Params"]
的PARAMS 初始化 .py包含:
__all__ = ["AtmosModel", "AeroModel", "AtmosCorr"]
但是,當我做from Py6S import *
我得到參考Params,但不是AtmosModel或AeroModel。
我希望能夠輸入from Py6S import *
,並且可以使用所有的AeroModel,AtmosModel,AtmosCorr等,而不必將任何模塊名稱放在它們的前面。
我建議你不要給相同的名稱,以模塊及其類作爲它會造成輕微的混淆。爲模塊名稱使用小寫字母(PEP 8)。所以,在你的情況下,它應該是'aeromodel.py'模塊,包含類'AeroModel' –
@Guanidene - 謝謝。這有助於解決我對下面答案的評論嗎?我希望能夠輕鬆導入AeroModel類。 – robintw