从不同文件夹导入文件
我有以下文件夹结构。
application/app/folder/file.py
我想从驻留在另一个Python文件中的file.py导入一些函数
application/app2/some_folder/some_file.py
我试过了
from application.app.folder.file import func_name
和其他一些尝试,但到目前为止我无法正常导入。 我怎样才能做到这一点?
默认情况下,你不能。 在导入文件时,Python只搜索当前目录,运行入口点脚本的目录以及包含软件包安装目录等位置的sys.path
(实际上它比这更复杂一点,但是这涵盖了在大多数情况下)。
但是,您可以在运行时添加到Python路径中:
# some_file.py
import sys
sys.path.insert(0, '/path/to/application/app/folder')
import file
没有错:
from application.app.folder.file import func_name
只要确保文件夹中还包含一个__init__.py ,这可以将它作为一个包装包含在内。 不知道为什么其他答案谈论PYTHONPATH。
当模块处于并行位置时,如问题所示:
application/app2/some_folder/some_file.py
application/app2/another_folder/another_file.py
这种简写使一个模块对另一个模块可见:
import sys
sys.path.append('../')
链接地址: http://www.djcxy.com/p/54819.html