簡體   English   中英

如何在Python中定義子模塊?

[英]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.

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