Python 导入自定义模块时公开导入的模块

Python 导入自定义模块时公开导入的模块,python,import,namespaces,Python,Import,Namespaces,如果我创建一个自定义模块Foo来导入一个单独的模块栏,那么我希望导入Foo的文件也能够直接引用这个模块栏,就像它被导入到它的本地名称空间一样。这样,文件就可以访问Foo和Bar,而不必将Bar作为Foo的成员引用,例如Foo.Bar 我尝试将以下内容添加到Foo中的_init__u;.py函数中,但没有成功: globals()['Bar'] = Bar 这在Python中是不可能的。导入的模块无权访问导入它的命名空间。您必须在要使用的模块中显式导入Bar。不,不,不!当您需要在Bar中定义的

如果我创建一个自定义模块Foo来导入一个单独的模块栏,那么我希望导入Foo的文件也能够直接引用这个模块栏,就像它被导入到它的本地名称空间一样。这样,文件就可以访问Foo和Bar,而不必将Bar作为Foo的成员引用,例如Foo.Bar

我尝试将以下内容添加到Foo中的_init__u;.py函数中,但没有成功:

globals()['Bar'] = Bar

这在Python中是不可能的。导入的模块无权访问导入它的命名空间。您必须在要使用的模块中显式导入
Bar
。不,不,不!当您需要在
Bar
中定义的任何内容时,只需导入
Bar
。显式比隐式好。