Maison > Questions et réponses > le corps du texte
Nous créons maintenant un ensemble d'outils automatiques pour les programmes sur le serveur, avec diverses opérations telles que le démarrage, l'arrêt et le réglage. Cependant, le contenu du déploiement sur différents nœuds n'est pas seulement le même, on suppose que des fonctions python avec diverses fonctions ont été préparées. Lisez ensuite les informations externes, telles que les données JSON, pour déterminer l'ordre d'exécution et les paramètres de ces fonctions. Pouvez-vous s'il vous plaît me dire comment y parvenir ?
Par exemple, il existe trois fonctions métier : Fonction Fonction 1 (Paramètre 1, Paramètre 2) Fonction Fonction 2 (Paramètre 1, Paramètre 2, Paramètre 3) Fonction Fonction 3 (Paramètre 1).
Ensuite, j'ai lu un paramètre {{{'funcname':'Function function 2'},{'parameter':[para1,para2,para3]}},{{'funcname':'Function function 1'},{' ':[para1,para2]}}}
Ensuite, le programme suivra l'ordre de la fonction 2, fonction 1, et lira les paramètres du paramètre pour exécuter cette série d'actions.
(En fait, en tant qu'outil d'automatisation, il a absolument besoin d'informations de retour en temps opportun. Après l'exécution de chaque fonction, les informations de retour seront lues. Si une erreur se produit, le programme sera immédiatement interrompu et les informations seront signalées ou enregistrées. , donc en d'autres termes, chaque fois qu'une fonction est exécutée, la fonction fonctionnelle exécutera également un programme simple pour juger du résultat renvoyé)
Il convient de noter ici que le nombre de fonctions à exécuter est incertain, et l'ordre est également incertain. La façon la plus stupide à laquelle j'ai immédiatement pensé était de parcourir le fichier json externe, puis de lire le nom de la fonction pour déterminer quelle fonction exécuter. Mais je pense que cette méthode est plus difficile à développer et à maintenir plus tard. J'espère que nous pourrons en discuter
女神的闺蜜爱上我2017-06-14 10:55:27
Utilisez eval pour exécuter une chaîne sous forme de code et renvoyer le résultat :
def func1(a,b):
return a+b
s = eval("func1(1,2)")
print(s)
# 3
Utilisez une boucle pour parcourir tous les éléments du fichier Json
Convertissez le nom de la fonction et les paramètres en chaînes.
chaîne d'exécution d'évaluation
Traitement des valeurs de retour