我有一个 Django(但我认为它在这里也不相关)项目,我尝试在其中添加我以前做过的脚本。所以我把它放在我的项目的一个子目录中,并且我有这个结构(我知道现在有点乱,但它不会保持原样)
我想从 views.py 导入 main.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/