Python导入:AttributeError:’module’对象没有属性’test’

我认为这是一个愚蠢的问题,但我无法弄清楚为什么我得到以下内容

AttributeError: 'module' object has no attribute 'test'

在运行我的test3.py时.

这是我的项目树:

.
├── __init__.py
├── test3.py
└── testdir
    ├── __init__.py
    └── test.py

我的test3.py:

#!/usr/bin/python                                                          

import testdir

if __name__ == "__main__":
    print(testdir.test.VAR)

我的test.py:

#!/usr/bin/python

import os

VAR=os.path.abspath(__file__)

我也试过这样导入我的VAR:

from testdir.test import VAR

编辑:现在这个工作 – 谢谢@ user2357112-但我仍然想知道如何导入整个test.py文件没有from … import …如果可能的话. 🙂

我尝试导入..testdir进行相对导入,但我得到了一个SyntaxError.

如果我尝试导入testdir.test我得到一个NameError:name’test’没有定义.

我怎么能导入这个文件?我有点困惑.

编辑之二:

我道歉,当我尝试导入testdir.test时,我还修改了print(testdir.test.VAR)来打印(test.VAR).

那是问题,我的不好.

用:

#!/usr/bin/python                                                          

import testdir.test

if __name__ == "__main__":
    print(testdir.test.VAR)

它工作得很好,我虽然导入testdir.test使测试在范围内单独存在(而不是testdir.test).

抱歉给你带来不便. :S

最佳答案 尝试从.test import VAR添加到testdir / init.py.然后导入testdir

在test3.py中打印testdir.VAR可能有效.我同意它更像是一种解决方法,而不是解决方案.

点赞