我见过关于how to import from a subfolder的提示。问题是从同一父文件夹中的另一个文件夹导入。目前的结构是这样的:
result = True and not undefined_atr # Raises exception
A.py是:
test
__init__.py
|-- folder1
|-- __init__.py
| |-- A.py
|-- folder2
| |-- __init__.py
| |-- B.py
B.py是:
hi = 1
print "hi", hi
当我from folder1 import A
print "imported"
时,我收到错误:
python B.py
如何导入A.py?理想情况下,文件夹结构不会改变。
答案 0 :(得分:1)
这里的问题是folder1
和folder2
是子包,而包是父目录,即test
。
test
的父目录无论在哪个路径都需要在sys.path
中。例如,您可以使用PYTHONPATH
环境变量执行此操作。
然后你应该在模块B.py
:
from test.folder1 import A