[英]How to define a sub-module in Python?
Python有一個名為“os”的模塊。 它還有一些名為“os.path”的模塊,它被歸類為“os”。
即使只導入“os”模塊,我也可以使用“os.path”方法。
import os
print(os.path.join("sdfs","x"))
我想知道如何定義這樣的子模塊?
這是os
模塊的__init__.py
'魔術' - 它將其子模塊path
導入其命名空間,實際上即使您只導入os
也可以訪問后者。
os
|- path
|- __init.__.py # 2
|- __init__.py # 1
第一個__init__.py
import .path
(#1)本質上具有import .path
因此每當你導入os
,它都會在其命名空間中導入path
,因此你可以將它作為os.path
訪問。
(注意:這與os
模塊不完全相同,但這是如何實現它的)
使用此結構:
/ Package
├── __init__.py
├── file.py
│
├─┐ subpackage
│ ├── __init__.py
│ └── file.py
│
└─┐ subpackage2
├── __init__.py
└── file.py
請注意,每個子包都有自己的__init__.py
文件。 這將使Package.subpackage
表現得像os.path
,進口來講(考慮不導入.subpackage
主要根據__init__
的文件Package
)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.