我正在使用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服务器会发生什么情况。
谢谢
答案 0 :(得分:1)
如果您的子目录(应该是)Python 软件包,请在这些目录中添加一个空的__init__.py
文件。如果然后从主目录运行主应用程序,则应该能够使用:
from sub_directory_one.config import class_name
或者,如果出于实际原因,config.py
和test.py
是仅在不同目录中分开的Python 模块,则应将子目录添加到Python搜索路径中。这可以通过在启动主应用程序之前设置环境变量PYTHONPATH或在导入这些模块之前在主脚本中扩展Python变量sys.path
来完成。在这种情况下,您应该使用:
from config import class_name
有关Python模块和软件包的更多信息,请参见official documentation。