我已经厌倦了阅读相对导入的一次性用例,所以我想作为一个问题来获得一个例子,说明如何从上面的和下面的目录进行相对导入,以便同时导入模块函数和类对象。在
目录结构:
.
├── lib
│ ├── __init__.py
│ └── bar.py
└── src
├── main.py
└── srclib
├── __init__.py
└── foo.py
棒.py
^{pr2}$食品
def FooFunction():
print("srclib Foo function")
class FooClass():
def __init__(self):
print("srclib Foo Class")
def test(self):
print("FooClass working")
问题:在python3中为这些用例导入什么语法?
主.py
# What is the syntax to import in python 3?
# I want to be able to call FooFunc()
foo.FooFunc()
# I want to be able to create a FooClass() object
foo_class = foo.FooClass()
foo_class.test()
# I want to be able to call FooFunc()
bar.BarFunc()
# I want to be able to create a BarClass() object
bar_class = bar.BarClass()
bar_class.test()
这完全取决于您从何处启动
python
解释器。在您的情况下,我建议您在进行以下更改时从项目的根目录启动解释器:在文件
src/srclib/__init__.py
中添加:这样做的原因是在
__init__.py
文件中显式地说明要从模块导入什么。在在
^{pr2}$main.py
文件中,添加以下内容:希望这有帮助!在
相关问题 更多 >
编程相关推荐