2017-06-01 1 views
0

Je n'ai pas beaucoup d'expérience en codage, donc je suis désolé si cela a déjà été répondu; Je n'ai rien trouvé qui m'aide.Comment démarrer et arrêter des scripts en utilisant un autre script?

Je viens de terminer un projet sur un Raspberry Pi qui exécute certaines bandes LED RGB via PWM. J'ai un programme qui allume les lumières et fonctionne très bien avec quelques modes différents (décalage arc-en-ciel, stroboscope, couleur unie) mais avec chaque nouveau mode j'ajoute le programme plus long et plus compliqué. Je voudrais que chaque mode séparé soit son propre script qui soit lancé ou arrêté par une sorte de script maître. De cette façon, je pourrais facilement ajouter un nouveau mode en écrivant simplement un programme séparé et en l'ajoutant à la liste sur le script maître au lieu de tourner à l'intérieur d'un programme géant avec tout en espérant ne pas casser quelque chose. Je suppose que ce que je veux est un moyen simple de démarrer un script python avec un paramètre spécifique (déterminé par les variables transmises à partir du script maître) et être capable de tuer ce script lorsque le script maître reçoit la commande pour changer de mode. Garder votre code modulable est effectivement une bonne pratique!

+1

SO n'est pas un forum de conseil; Les conseils peuvent être périmés. Qu'avez-vous essayé jusqu'à présent? S'il vous plaît montrer votre travail afin que nous puissions vous aider. – Soviut

+2

Pourquoi ne séparez-vous pas tout le code qui fait la logique dans son propre module/modules, puis disposez d'un script maître qui importe les fonctions nécessaires et gère la logique d'orchestration? Exécuter des scripts séparés en tant que sous-processus semble trop compliqué. –

+0

vous pouvez créer un script python et l'importer dans votre script principal. , cela peut vous aider https://docs.python.org/2/tutorial/classes.html –

Répondre

0

Si votre code n'est pas orienté Objet, le meilleur moyen est de créer un autre fichier python (appelons-le util.py) dans le même répertoire que votre "main". Vous pouvez simplement inclure util.py avec la commande suivante au début de votre code principal: import util Et puis, quand vous voulez utiliser une fonction que vous avez définie dans votre fichier util.py, utilisez: util. myFunction (param1, param2, ...)

+0

Pas une bonne idée si vous voulez recoder les modules dépendants. Je pense que ce problème est mieux géré par l'exécution de sous-processus. – tdelaney