Python 2.7 从python中的其他目录导入文件?
我有以下目录结构: APython 2.7 从python中的其他目录导入文件?,python-2.7,path,directory,python-import,Python 2.7,Path,Directory,Python Import,我有以下目录结构: A | |--B--你好,py | |--C--Message.py 现在,如果根目录A的路径不固定,我如何将“Hello.py”从B导入C中的“Message.py”。首先,我建议将空的\uu init\uuuuuuuuuupy文件添加到具有python源代码的每个目录中。它将防止导入出现许多问题,因为这是Python中的工作方式: 在您的情况下,应该如下所示: A ├── B │ ├── 你好,派伊 │ └── __初始值 ├── C │ ├── Messag
|
|--B--你好,py
|
|--C--Message.py
现在,如果根目录A的路径不固定,我如何将“Hello.py”从B导入C中的“Message.py”。首先,我建议将空的
\uu init\uuuuuuuuuupy
文件添加到具有python源代码的每个目录中。它将防止导入出现许多问题,因为这是Python中的工作方式:
在您的情况下,应该如下所示:
A
├── B
│ ├── 你好,派伊
│ └── __初始值
├── C
│ ├── Message.py
│ └── __初始值
└── __初始值
假设Hello.py包含函数foo:
def foo():
返回“bar”
而Message.py
试图使用它:
from..B.你好,导入foo
打印(foo())
使其工作的第一种方法是让Python解释器完成其工作并构建:
~ $ python -m A.C.Message
另一个选项是使用以下代码将您的Hello.py
文件添加到中:
#Message.py文件
导入系统,操作系统
sys.path.insert(0,os.path.abspath('..'))
来自B.你好,输入foo
打印(foo())
在这种情况下,您可以使用
~/A/C$python Message.py