执行 udev/rules.d、cron.d 或 /apt/source.d 等 Python 脚本

发布于 2024-08-20 06:03:31 字数 460 浏览 5 评论 0原文

我使用 python 来修补使用partimage分发的linux系统的系统设置。 我想要以下 python 脚本结构:

/patch.d/
    10_patch_netwok.py
    20_patch_hostname.py
    ...
    50_patch_software_xyz.py

InitSystem.py

InitSytem.py 应该运行 /patch.d 文件夹中的 python 脚本。按照我的想法(头脑风暴):

files = glob.glob("patch.d/*.py")
files.sort()
for file in files:
    execfile(file, ...)

加载 python 脚本并从另一个 python 脚本运行它们的推荐方法是什么?

I use python to patch system settings of linux systems distributed with partimage.
I want to have the following python script structure:

/patch.d/
    10_patch_netwok.py
    20_patch_hostname.py
    ...
    50_patch_software_xyz.py

InitSystem.py

The InitSytem.py should run the python scripts in /patch.d folder. Following my idea (brainstorm):

files = glob.glob("patch.d/*.py")
files.sort()
for file in files:
    execfile(file, ...)

What's the recommend way to load python scripts and run them from another python script?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

美人迟暮 2024-08-27 06:03:31

Python 脚本也是 python 模块,因此加载和运行它们的最佳方法是简单地使用导入它们,

__import__('some_module')

但这意味着它们在同一个进程中运行。如果这是不可取的,那么您的选择是使用 python 中的多线程或多处理支持在不同的线程/进程中运行每个脚本以避免干扰,或者使用 os.subprocess 模块进行系统调用运行脚本。

Python scripts are also python modules, so the best way to load and run them is to simply import them using

__import__('some_module')

This will mean that they run in the same process though. If this is undesirable, then your options would be to use the multi-threading or multi-processing support in python to run each script in a different thread/process to avoid interference, or to use the os.subprocess module to do system calls that run the scripts.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文