我制作了 A.py
使用 B.py
的 python 模块,如下所示。在这种情况下,如何在 A.py
中导入 B.py
?我想使用其他目录中的 mylib
模块。但由于路径问题,我的代码无法运行。
├── main.py
└── mylib
├── A.py
├── B.py
├── __init__.py
└── main_in_mylib.py
A.py
import B
def test():
B.hello()
B.py
def hello():
print("hello from B")
main_in_mylib.py
import A
A.test()
主.py
import mylib.A as A
A.test()
Traceback (most recent call last):
File "main.py", line 3, in <module>
import mylib.A as A
File "/home/jef/python-module/mylib/A.py", line 3, in <module>
import B
ModuleNotFoundError: No module named 'B'
已更新
ModuleNotFoundError: 没有名为“B”的模块
# main.py
from mylib.A import test
test()
ModuleNotFoundError: 没有名为“B”的模块
# main.py
import mylib.B as B
import mylib.A as A
A.test()
最佳答案
你需要把A改成
import mylib.B as B
def test():
B.hello()
代替
import B
def test():
B.hello()
因为导入始终与您调用的脚本相关(在本例中为 main.py)
关于python - 如何在 Python 的同一模块目录中导入其他函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43885580/