创建命名空间 |在文件级别扩展名称树

问题描述 投票:0回答:1

例如,在

C++
中我们可以写

namespace MilkyWay{
    namespace AlphaCentauri {
        int Planets = 4;
    }
    namespace SolarSys {
        int Planets = 8;
    }
}

然后将其用作

MilkyWay::SolarSys::Planets

我们能在 Python 中得到类似的东西吗?

例如,如果我有以下结构

MainForlder/
├─ MilkyWay/
│  ├─ __init__.py
│  ├─ AlphaCentauri.py
│  ├─ SolarSys.py
├─ scr.py

文件

scr.py

import MilkyWay

print(MilkyWay.SolarSys.Planets)

给出错误:

AttributeError: Module 'MilkyWay' has no attribute 'SolarSys'

但是

from MilkyWay import SolarSys

print(SolarSys.Planets)

有效...但在这种情况下,我在文件中的变量之后没有子级别。

如何导入整个文件夹以访问其文件?

有没有办法在

namespace
中写出类似
C++
的内容?或者换句话说,是否有可能不仅在文件夹嵌套级别上扩展名称树,而且还可以在单个文件级别上扩展名称树?

python namespaces python-packaging
1个回答
0
投票

我认为这会对你有所帮助:python 包

© www.soinside.com 2019 - 2024. All rights reserved.