Automatisation de l'exploitation et de la maintenance - Comment utiliser le contenu d'un fichier lu en externe pour déterminer l'ordre d'exécution et les paramètres des fonctions Python ?
PHP中文网
PHP中文网 2017-06-14 10:53:27
0
1
975

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

PHP中文网
PHP中文网

认证高级PHP讲师

répondre à tous(1)
女神的闺蜜爱上我

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
  1. Utilisez une boucle pour parcourir tous les éléments du fichier Json

  2. Convertissez le nom de la fonction et les paramètres en chaînes.

  3. chaîne d'exécution d'évaluation

  4. Traitement des valeurs de retour

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal