python - 导入模块不起作用

标签 python django python-3.x module

我有一个 Django(但我认为它在这里也不相关)项目,我尝试在其中添加我以前做过的脚本。所以我把它放在我的项目的一个子目录中,并且我有这个结构(我知道现在有点乱,但它不会保持原样)

enter image description here

我想从 views.py 导入 ma​​in.py(尤其是函数 excelToXml)。在互联网上搜索后,我发现我在 views.py 中复制的代码。如果我理解正确,它会将 first_page 的目录父目录添加到变量 $PATH 中,但是,每个子目录

CURRENT = os.path.dirname(os.path.abspath(__file__))
PARENT = os.path.dirname(CURRENT)
sys.path.append(PARENT)
from ExcelToXML.main import excelToXml

我还在 ExcelToXML 目录中创建了一个文件 __init.py__,该文件留空。

然而,即使我做了所有这些,当我运行 django 服务器时,我仍然会遇到这个错误

File "c:\Users\CRA\AppData\Local\Programs\Python\Python36-32\Lib\site-packages\django\bin\DevisVersOpen\DevisVersOpen\urls.py", line 18, in module

from first_page import views

文件 "c:\Users\CRA\AppData\Local\Programs\Python\Python36-32\Lib\site-packages\django\bin\DevisVersOpen\first_page\views.py", 第 13 行,在模块中

from ExcelToXML.main import excelToXml

ModuleNotFoundError: 没有名为“ExcelToXML”的模块

我在网上找不到任何我能理解的解决方案,所以我真的不知道如何解决这个问题

最佳答案

你的目录结构让我认为你应该尝试像这样导入:

from first_page.ExcelToXML.main import excelToXml

因为 ExcelToXML 在 first_page 模块下,所以它被视为 first_page 的子模块。

关于python - 导入模块不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45432471/

相关文章:

python - Python/scipy 中的一维非最大抑制

python - 定义更复杂的静态数组

python - Django Form Clean 方法测试错误

django - 内联表单集工厂 - 将请求传递给子表单

python-3.x - pandas 获取每组两个条件之间的时间增量

python - 使用正则表达式删除特定单词

python - Django 表单在唯一字段上验证失败

Python:使用 Bottle 和 Tornado Web 服务器来处理并发连接

python - Django 管理员输入导致 UnicodeDecodeError,怎么办?

python - 如何在保留列表的同时通过某个索引从矩阵中 heappush 列表?