我具有以下目录结构
import { Component } from '@angular/core';
interface Employees {
empID: string;
name: string;
gender: string;
salary: number;
DOB: Date
}
@Component({
selector: 'my-app',
templateUrl: './app.component.html',
styleUrls: [ './app.component.css' ]
})
export class AppComponent {
name = 'Angular';
employees: Employees[];
constructor() {
this.employees = [
{ empID: 'empid101', name: 'Jhon', gender: 'male', salary: 1200, DOB: new Date('12/24/2016') }
];
}
}
Module.py包含
mainpackage
├── __init__.py
└── subpackage
├── __init__.py
└── module.py
使用python3,我正在寻求使module.py模块可用于在mainpackage命名空间中导入。到目前为止,我的主包__init__.py文件看起来像这样
def test():
print("test called")
我希望能够打电话
from .subpackage import module
但这会抛出
import mainpackage.module
为清楚起见,我不希望将测试功能导入到主程序包命名空间中-我需要整个模块。这可能吗 ?任何帮助将不胜感激。
答案 0 :(得分:1)
据我所知,您无法像尝试过的那样在主包的名称空间中使子包的模块可用:
import mainpackage.module
在mainpackage
的子目录中而不是其他(更深的)子目录中查找模块。
您在mainpackage\__init.py__
中尝试的内容是正确的。您的
from .subpackage import module
将使模块在mainpackage
级别可用。如果您输入IPython控制台
import mainpackage
mainpackage.module
将给出以下输出
<module 'mainpackage.subpackage.module' from 'your\path\mainpackage\subpackage\module.py'>
,但是import mainpackage.module
仍然无效。如果现在要将module
用作实例,则必须使用
from mainpackage import module
这将允许您像这样使用您的功能
module.test
答案 1 :(得分:0)
以这种方式from mainpackage.subpackage import module
导入,您不需要在初始化文件中使用from .subpackage import module