我有一堆这样组织的脚本:
root
group1
script1.py
script2.py
group2
script1.py
script2.py
group3
script1.py
script2.py
utils
utils1.py
utils2.py
所有脚本* .py都使用utils文件夹中的函数。此刻,我将utils路径附加到脚本中以导入utils。
但是,这似乎是不好的做法(或“不是Pythonic”)。此外,实际上这些组并不像以前那样平坦,并且util文件夹比上面列出的还要多。因此,附加路径解决方案变得越来越困惑。
如何组织不同的 Activity ?
最佳答案
首先将所有目录均可导入,即使用__init__.py
。
然后有一个接受参数并基于此调用脚本的顶级脚本。
从长远来看,Keith关于distutils的论述是正确的。否则,这是一个更简单(不一定是最好的)的解决方案。
组织
runscript.py
group1
__init__.py
script1.py
utils
__init__.py
utils1.py
调用
python runscript -g grp1 -s script1
runscript.py
import utils
def main():
script_to_exec = process_args()
import script_to_exec as script # __import__
script.main()
main()
也许您的脚本可以具有main函数,然后再由runscript调用它。
我建议您在顶级脚本中导入该脚本。
关于python - 在哪里放置Python Utils文件夹?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5229783/