Bonjour à tous,
J'ai actuellement un problème sur un script python qui doit lire différents autres scripts (un VBS, deux en Matlab et un en Python).
Tout se passe bien pour l'ouverture et la compilation des trois premiers scripts mais j'ai un problème quand il doit ouvrir et compiler le script python.
Pour vous donner une petite introduction à mon problème, le script python qui doit être compilé par l'autre a trois fonctions: Une principale qui est lancée directement et deux secondaires qui sont lancées dans la principale.
Hélas, quand le script arrive au niveau de l'appel de la première fonction secondaire, il me retourne l'erreur suivante:
Le premier script ressemble à ça:
Code : Sélectionner tout - Visualiser dans une fenêtre à part NameError: global name 'ReadTXTFile' is not defined
Le second script:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 def ExecuteScript(): #Compilation de tous les autres programmes #Running Python script sys.argv = [LPstr, dbcstr] execfile(path3 + '\\script2.py') ExecuteScript()
Le plus curieux est que quand je remplace les arguments de la variable1 par des constantes, le programme fonctionne. J'ai, bien sûr, mis des breakpoints pour voir si c'était les arguments qui posaient problème mais non car j'ai réutilisé les mêmes arguments trouvés avec les breakpoints pour les mettre en constantes dans le second script (ctrl + C, ctrl + V pour avoir la même syntaxe
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 def ExecuteScript(): Variable1 = sys.argv[0] + '\\Ref_' + sys.argv[1] + '\\DOC\\' + sys.argv[1] + '.txt' Variable2 = ["INJ", "ECM"] Variable3 = "REAL" trames_layout = ReadTXTFile(Variable1, Variable2, Variable3) def ReadTXTFile(Variable1, Variable2, Variable3): #Toute la fonction ExecuteScript()).
Je vous remercie d'avance pour vos réponses.
Cordialement,
Jules.
Partager