python - 如何在 Python 的同一模块目录中导入其他函数?

标签 python python-3.x

我制作了 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")

ma​​in_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/

相关文章:

Python类-属性继承

python - 如何使用 ContainerRegistryClient 将标签添加到 Azure 容器注册表中的 list ?

导入另一个python模块的python模块

python - 如何使用 Telethon 获取转发消息的 channel /聊天/用户名?

python - 如何从嵌套字典中查找列表组合

python - 为变量分配范围

python - 为模块中的所有类覆盖 __init__

python - 在 Python 中聚类相似字符串的算法?

python - super() 在 Python 3 中究竟返回什么?

python - 在python中创建具有一定宽度边框的图像