J'ai une boucle où je change une liste, puis en utilisant format
créer une nouvelle chaîne. Lorsque vous utilisez cette ligneProblème avec le format et les listes
strCommand = strCommand.format(*strCmdVars)
je trouve que la chaîne ne serait pas mise à jour que j'itérés mes données, strCommand
resterait avec sa valeur d'origine. Cependant quand je l'ai changé à ceci
strCmd = strCommand.format(*strCmdVars)
les choses ont commencé à fonctionner comme prévu. Est-ce que j'ai trébuché sur quelque chose d'étrange, ou faisais-je quelque chose de mal la première fois? Ceci est en cours d'exécution sous la version Python 3.4.3 sous Windows 7. Voici quelques détails à travailler avec:
strCommand = "show run {0} access-list {1}" strCmdVars = ["ipv6","FWG31"]
Dans le script réel, j'initialiser strCmdVars en utilisant comme ajouter cette
strCmdVars.append(parts1) strCmdVars.append(parts2)
Puis, en parcourant un fichier dans lequel je lis (qui correspond à la valeur de parts1 et parts2) à la fin de la boucle, je fais
strCmdVars[0]=parts1 strCmdVars[1]=parts2
Mes exemples sont des extrapolations à des fins de simplification. Comme je suis Boucler dans le fichier strCmdVars pourrait contenir une de ces valeurs:
ipv6, FWG31
ipv4, FWG32
ipv4, FWG33
ipv6, FWG34
ipv4, FWG31
etc.
je vérifié que les La valeur de strCmdVars était en effet changée en valeurs correctes, en utilisant le débogage dbp, et que la valeur de strCommand ne changeait pas et restait à sa valeur initiale.
Très étrange. Pourriez-vous éditer votre question avec un exemple concret (valeurs pour 'strCmdVars' et' strCommand') afin que nous puissions l'exécuter et le tester de notre côté? –
Edité la question et fourni beaucoup plus de détails, avec des exemples. – Siggi