【问题标题】:Importing classes in python 3.2在 python 3.2 中导入类
【发布时间】:2012-01-30 05:35:40
【问题描述】:

在文件 foo.py 中,我想使用以下文件夹结构从文件 main.py 导入 A 类:

main.py
__init__.py
|-folder1
  __init__.py
  |-folder 2
    __init__.py
    foo.py
  |-folder 3
  ...

导入行的外观如何? 我试过像

from ..main import A

但我刚刚得到

ValueError: Attempted relative import in non-package

【问题讨论】:

  • 为什么不from main import A? (如果这不正确,我很抱歉;我们需要更多关于您尝试运行需要导入 A 的代码的信息。)

标签: python class import directory-structure


【解决方案1】:

该错误来自您运行文件的方式 - 如果您想执行该相对导入,您需要像这样运行您的 foo 程序:

>>> import topfolder.folder1.folder2.foo
>>> foo.run()

(换句话说,您需要将要从中导入的包结构视为实际包。)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-18
    • 1970-01-01
    • 1970-01-01
    • 2011-10-15
    • 1970-01-01
    相关资源
    最近更新 更多