当前位置: 首页 > 面试题库 >

Python-如何在同一目录或子目录中导入类?

宋稳
2023-03-14
问题内容

我有一个存储所有.py文件的目录。

bin/
   main.py
   user.py # where class User resides
   dir.py # where class Dir resides

我想从使用类user.py和dir.py在main.py。
如何将这些Python类导入main.py?
此外,User如果user.py在子目录中,如何导入类?

bin/
    dir.py
    main.py
    usr/
        user.py

问题答案:

Python 2

在与文件__init__.py相同的目录中创建一个名为的空文件。这将向Python表示“可以从此目录导入”。

然后做…

from user import User
from dir import Dir

如果文件位于子目录中,则也应如此-将子目录也放入__init__.py子目录中,然后使用带点符号的常规import语句。对于每个级别的目录,你都需要添加到导入路径。

bin/
    main.py
    classes/
        user.py
        dir.py

因此,如果目录被命名为“ classes”,则可以这样做:

from classes.user import User
from classes.dir import Dir

Python 3

与上一个相同,但是.如果不使用子目录,则在模块名前加上:

from .user import User
from .dir import Dir


 类似资料:
  • 调试和运行时,我在 pycharm 中遇到输入错误。 我的项目结构根是正确的,< code >等等。/HW3/。以便< code>HW3是根目录。 我在HW3中有一个子文件夹,还有一个文件。我在中有另一个名为的文件。 在中,我有以下导入结构, 这会产生一个输入错误, 但是,在完全相同的项目中,在另一个名为 data 的目录(与 util 相同级别)中,我有一个文件 /,它也使用类似的导入语句从 u

  • 我在Python 3.3项目中有一个名为/models的目录。 从我的我只是做了一个 在我的: 这在我的应用程序中非常有效。 我有一个依赖于另一个模型的模型,例如在我的我需要导入。py。当我这样做时: 我得到错误。 如何从同一模块/目录中的文件A导入类B?

  • 我制作了我的python模块,它<code>A。py使用如下所示。在这种情况下,如何导入<code>B。py在?我想使用其他目录中的模块。但由于路径问题,我的代码无法工作。 A.py 碧桂园 main _ in _ mylib.py 主.py ModuleNotFoundError:没有名为“B”的模块 ModuleNotFoundError:没有名为“B”的模块

  • 问题内容: 我有一个名为“ ClassA”的Python类,另一个应该导入“ A ClassB”的ClassA的Python类。目录结构如下: 我将如何使用,以便ClassB可以使用ClassA? 问题答案: 您确实应该使用软件包。然后将MainDir放置在文件系统中sys.path上的某个点(例如… / site- packages)上,然后可以在ClassB中说: 您只需要在每个目录中放置命名

  • 问题内容: 我有以下内容: 我正在尝试从父目录导入。在这种情况下,我尝试从测试文件夹中运行“ UnitTest1.py”,并从其上方的目录(文件“ ModuleFile.py”)导入。 我知道已经有很多答案。 SO问题1,SO问题2,其他所有SO问题。我只是找不到“使用../”作为相对导入而不是显式路径。 我知道从Python 2.5开始,根据提到使用的文档,它们支持“相对导入”,但是我专门尝试这

  • 问题内容: 这是我正在使用的结构: 我想要做的就是在script.py中定义的类进口和。如果我做: 对于中定义的类,它工作正常。但是使用此解决方案时,如果在不同文件中定义了许多类,并且我想导入所有这些类,则必须为每个文件键入一行。必须有一个捷径。我试过了: 但这没有解决。 编辑 :这是文件的内容: 这是(按照Apalala的建议使用): 这是: 这是: 这是: 这是我尝试运行时得到的跟踪: 问题答