我有一堆这样组织的脚本:

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/

10-12 22:46