Python 导入顶级模块的正确方法是什么?
我希望能够在另一个模块(更深一层)中引用顶级模块。 我的解决方案有效,但我想知道这是否是最好的方法。请推荐最低python 2.4 在下面的示例中,我想在Python 导入顶级模块的正确方法是什么?,python,Python,我希望能够在另一个模块(更深一层)中引用顶级模块。 我的解决方案有效,但我想知道这是否是最好的方法。请推荐最低python 2.4 在下面的示例中,我想在abc.py中导入base.py 以下是一个简化的目录结构- - test.py - mymodule/ - base.py - __init__.py - meta/ - abc.py - __init__.py base.py的内容 class basec1: def bas
abc.py
中导入base.py
以下是一个简化的目录结构-
- test.py
- mymodule/
- base.py
- __init__.py
- meta/
- abc.py
- __init__.py
base.py的内容
class basec1:
def basec1f1(self):
print "base::C1::F1() called"
class basec2:
def basec2f1(self):
print "base::C2::F1() called"
from mymodule.base import basec1
def abcfn():
print "abcfn() called"
obj = basec1()
obj.basec1f1()
import mymodule.meta.abc as abc
abc.abcfn()
abc.py的内容
class basec1:
def basec1f1(self):
print "base::C1::F1() called"
class basec2:
def basec2f1(self):
print "base::C2::F1() called"
from mymodule.base import basec1
def abcfn():
print "abcfn() called"
obj = basec1()
obj.basec1f1()
import mymodule.meta.abc as abc
abc.abcfn()
test.py的内容
class basec1:
def basec1f1(self):
print "base::C1::F1() called"
class basec2:
def basec2f1(self):
print "base::C2::F1() called"
from mymodule.base import basec1
def abcfn():
print "abcfn() called"
obj = basec1()
obj.basec1f1()
import mymodule.meta.abc as abc
abc.abcfn()
我觉得这个不错。您可以放弃包方法(即删除\uuu init\uuuu.py
文件)而改用包方法,但我更喜欢您的方法