2010-02-03 4 views
1

J'utilise python pour patcher les paramètres système des systèmes Linux distribués avec partimage. Je veux avoir la structure de script python suivant:Exécution de scripts python comme udev/rules.d, cron.d ou /apt/source.d

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

InitSystem.py 

Le InitSytem.py doit exécuter les scripts python dans le dossier /patch.d. À la suite de mon idée (brainstorming):

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

Quel est le recommander moyen de charger des scripts python et les exécuter à partir d'un autre script python?

Répondre

1

scripts Python sont également des modules de python, de sorte que la meilleure façon de charger et d'exécuter eux est de les importer en utilisant simplement

__import__('some_module') 

Cela signifie qu'ils courent dans le même processus que. Si cela n'est pas souhaitable, vos options consisteraient à utiliser le support multithread ou multi-traitement en python pour exécuter chaque script dans un thread/processus différent afin d'éviter les interférences, ou d'utiliser le module os.subprocess pour effectuer des appels système exécuter les scripts.

Questions connexes