Gil*_*ert 6 python code-organization
我有一大堆这样组织的脚本:
root
group1
script1.py
script2.py
group2
script1.py
script2.py
group3
script1.py
script2.py
utils
utils1.py
utils2.py
Run Code Online (Sandbox Code Playgroud)
所有的 scripts*.py 都使用 utils 文件夹中的函数。目前,我将 utils 路径附加到脚本中以导入 utils。
但是,这似乎是不好的做法(或“不是 Pythonic”)。此外,实际中的组并不像这样扁平,并且 util 文件夹比上面列出的要多。因此,附加路径解决方案变得越来越混乱。
我怎样才能以不同的方式组织这个?
首先使所有目录可导入,即使用__init__.py. 然后有一个顶级脚本,它接受参数并基于该参数调用脚本。
从长远来看,Keith 提到的关于 distutils 的内容是正确的。否则,这是一个更简单的(当然不是最好的)解决方案。
组织
runscript.py
group1
__init__.py
script1.py
utils
__init__.py
utils1.py
Run Code Online (Sandbox Code Playgroud)
祈求
python runscript -g grp1 -s script1
Run Code Online (Sandbox Code Playgroud)
运行脚本.py
import utils
def main():
script_to_exec = process_args()
import script_to_exec as script # __import__
script.main()
main()
Run Code Online (Sandbox Code Playgroud)
也许您的脚本可以有 main 函数,然后由 runscript 调用。我建议您在顶层有一个导入脚本的脚本。
| 归档时间: |
|
| 查看次数: |
9268 次 |
| 最近记录: |