Python:在一系列脚本之间共享通用代码

Python:在一系列脚本之间共享通用代码,第1张

Python:在一系列脚本之间共享通用代码

我建议将琐碎的“启动器”脚本放在项目的顶层,并将每个子项目文件夹放入包中。包中的模块可以相互导入,也可以将通用代码分解成

common
包。

如果我们假设

merger
可以将各种模块重构为共享版本,则结构如下所示:

projectroot  |- script1.py # launcher scripts, see below for example pre  |- script2.py  |- script3.py  |  |- common  |    |- __init__.py  |    |- merger.py # from other packages, use from ..common import merger to get this  |  |- subproject1  |    |- __init__.py # this can be empty  |    |- script1_main.py  |  |- subproject2  |    |- __init__.py  |    |- script2_main.py  |    |- script2_matcher.py  |  |- subproject3       |- __init__.py       |- script3_main.py       |- script3_converter.py       |- script3_matcher.py

启动器脚本可以非常简单:

from subproject1 import script1_mainif __name__ == "__main__":    script1_main.main()

也就是说,它所做的只是导入适当的“
scriptN_main”模块并在其中运行一个函数。使用简单脚本可能还对脚本启动速度有一些好处,因为该

main
模块可以将其编译后的字节码缓存到
.pyc
文件中,而从不缓存脚本。

注意:我重命名了您的模块,将

_
字符交换为
.
字符。您不能
.
在标识符(例如模块名称)中使用in,因为Python希望它指示属性访问。这意味着这些模块永远无法导入。(我猜测这只是示例文件的构件,而不是您的真实代码中的构件。)



欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5674565.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-16
下一篇2022-12-17

发表评论

登录后才能评论

评论列表(0条)

    保存