如何将函数或类从一个文件夹导入另一个文件夹

时间:2019-05-08 07:07:44

标签: python python-3.x package python-import

我正在使用python 3.6。我具有以下文件夹结构:

main_directory
-- sub_directory_one
   -- config.py
-- sub_directory_two
   -- test.py

我想将config.py中的函数或类导入到test.py中。 我尝试过

from sub_directory_one.config import class_name
from main_directory.sub_directory_one.config import class_name

但是没有任何效果。 很少有人建议将项目添加到系统路径。但是我目前正在Mac上工作,如果将其部署到ubuntu服务器会发生什么情况。

谢谢

1 个答案:

答案 0 :(得分:1)

如果您的子目录(应该是)Python 软件包,请在这些目录中添加一个空的__init__.py文件。如果然后从主目录运行主应用程序,则应该能够使用:

from sub_directory_one.config import class_name

或者,如果出于实际原因,config.pytest.py是仅在不同目录中分开的Python 模块,则应将子目录添加到Python搜索路径中。这可以通过在启动主应用程序之前设置环境变量PYTHONPATH或在导入这些模块之前在主脚本中扩展Python变量sys.path来完成。在这种情况下,您应该使用:

from config import class_name

有关Python模块和软件包的更多信息,请参见official documentation