假设我有两个具有以下结构的项目:
/ PROJECT1
/项目2
现在我已经开发了一个对这两个项目都有用的函数/类。我想将它放在project1 / project2目录之外的某个地方,并将其作为一个单独的项目进行维护。 所以我可能需要这样的结构:
/ PROJECT1
/项目2
/共享
如果我将帮助函数/类放在共享文件夹中的项目中,如何在project1 / project2中使用它们?
目前我的选择是在project1 / project2中使用sys.path.append('/ shared'),然后在共享文件夹中执行导入。
还有更多的pythonic方法吗?
答案 0 :(得分:2)
只要父模块位于PYTHONPATH中,您就可以使用父模块导入/共享。如果你的项目看起来像:
toplevel_package/
├── __init__.py
├── main.py
└── project1
├── __init__.py
└── foo.py
└── project2
├── __init__.py
└── bar.py
└── shared
├── __init__.py
└── save_files.py
然后导入如下:
from toplevel_package.shared import save_files
只要toplevel_package在你的PYTHONPATH中,这就有效。要么:
可以在import from parent找到更多信息。
你也可以简单地使用import using full path,在我看来不是 pythonic ,但在某些情况下效果很好(最后,。