执行 udev/rules.d、cron.d 或 /apt/source.d 等 Python 脚本
我使用 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
Python 脚本也是 python 模块,因此加载和运行它们的最佳方法是简单地使用导入它们,
但这意味着它们在同一个进程中运行。如果这是不可取的,那么您的选择是使用 python 中的多线程或多处理支持在不同的线程/进程中运行每个脚本以避免干扰,或者使用 os.subprocess 模块进行系统调用运行脚本。
Python scripts are also python modules, so the best way to load and run them is to simply import them using
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.