Bon, visiblement, soit mon post n'est pas assez explicite, soit il n'est pas assez sexy.
Le problème est le suivant.
Je lis les lignes d'un fichier de commande que je passe dans une boucle.
Code :
- for cmd_cisco in file2.readlines() :
- ligne_cmd = []
- ligne_cmd.append(cmd_cisco.rstrip('\n'))
- tn.write(cmd_cisco)
- i = tn.expect(['% Invalid input detected at .*','.*#'])
- if i[0] == 0 and Check == 0:
- fichier = open("liste-erreur.txt", "a" )
- fichier.writelines(Host_sansrc)
- fichier.writelines(' KO')
- fichier.write("\n" )
- fichier.close()
- print ligne_cmd[1:-2] <----- le problème est ici
|
Si dans le fichier de commande, j'ai la liste suivante
sh clock
sh toto
sh ver
le résultat de "print ligne_cmd" sera "sh ver" (si je ne spécifie pas les crochets) alors qu'il devrait être "sh toto"
J'ai essayé de faire un "print ligne_cmd[1:-2]" mais ça plante.
(0, <_sre.SRE_Match object at 0x7f0413d92d98>, "sh toto\r\n ^\r\n% Invalid input detected at '^' marker.\r" )
[] <----- valeur affichée
Existe-t'il un moyen d'afficher l'avant dernière valeur dans le tableau ?
Message édité par kill9 le 28-11-2018 à 10:24:52