当前位置: 首页 > 知识库问答 >
问题:

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

司寇山
2023-03-14

我制作了我的python模块,它<code>A。py使用B。py如下所示。在这种情况下,如何导入<code>B。py在A中。py?我想使用其他目录中的mylib模块。但由于路径问题,我的代码无法工作。

├── main.py
└── mylib
    ├── A.py
    ├── B.py
    ├── __init__.py
    └── main_in_mylib.py

A.py

import B
def test():
    B.hello()

碧桂园

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()

共有3个答案

王鹏飞
2023-03-14

问题是您导入了一个文件并尝试使用点表示法调用方法。

使用mylib. A导入测试中的

现在你可以直接在 main.py 中使用test()

在python3中,您甚至不必编写_init__。在目录中复制,以表明它是一个包(这是一个很好的做法)

仲孙昊焱
2023-03-14

为了便于记录,也可以在< code>A.py中进行相对导入:

from . import B
刁越
2023-03-14

您需要将 A 更改为

import mylib.B as B
def test():
    B.hello()

而不是

import B
def test():
    B.hello()

因为导入始终相对于您调用的脚本(在本例中为 main.py)

 类似资料:
  • 问题内容: 我在一个项目中有一些代码,想在另一个项目中重用。我需要做什么(在两个文件夹中)才能执行此操作? 目录结构类似于: oo 项目1 file1.py file2.py 酒吧 项目2 fileX.py fileY.py 我想使用fileX.py和fileY.py中的file1.py和file2.py中的函数。 问题答案: 理想情况下,两个项目都是可安装的python程序包,并充满__init

  • 问题内容: 我有一个存储所有.py文件的目录。 我想从使用类user.py和dir.py在main.py。 如何将这些Python类导入main.py? 此外,如果user.py在子目录中,如何导入类? 问题答案: Python 2 在与文件相同的目录中创建一个名为的空文件。这将向Python表示“可以从此目录导入”。 然后做… 如果文件位于子目录中,则也应如此-将子目录也放入子目录中,然后使用带

  • 问题内容: 目录结构: module1.py: 我如何才能将所有模块从模块添加到主类而没有前缀(即像foo = fooBar()一样使用它们,而不是foo = my_modules.module1.fooBar())。 一个明显的决定是在main.py中编写如下内容: 但是我不想在创建新的moduleN时更改main.py。有解决方案吗? 我确实知道导入这样的类不是一个好主意,但是我对此仍然很好奇

  • 问题内容: 我有一个使用内置模块的Python脚本,但也导入了与主脚本本身位于同一目录中的许多自定义模块。 例如,我会打电话 和agent.py具有许多导入,包括: 其中checks与agent.py位于同一目录中的文件 当前工作目录为agent /时,一切都很好。但是,如果我从任何其他目录调用agent.py,则显然无法导入checks.py等错误。 我如何确保可以导入自定义模块,而不管从哪里调

  • 本文向大家介绍Python在不同目录下导入模块的实现方法,包括了Python在不同目录下导入模块的实现方法的使用技巧和注意事项,需要的朋友参考一下 python在不同层级目录import模块的方法 使用python进行程序编写时,经常会调用不同目录下的模块及函数。本篇博客针对常见的模块调用讲解导入模块的方法。 1. 同级目录下的调用 目录结构如下: 若在程序test1.py中导入模块mod1, 则