Bonjour à tous, je suis entrain de développer un script python, seulement voilà j'ai une erreur d'indentation, pourtant il me semble que j'ai correctement indenté. Voici la fonction qui crée problème:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | def analyserFichier(chemin): """Fonction qui analyse le fichier passé en paramètre pour extraire les données importantes qu'il contient Paramètre chemin: le chemin relatif par par rapport au script qui éxecute cette fonction pour atteindre les fichiers à analyser Retour: les différentes listes qui contiennent des informations sur les paquets transmis et reçus par le noeuds""" #Variables qui vont stocker diverses informations sur les noeuds #listes pour la couche physique phyRxOk = list() phyTxOk = list() phyTxDrop = list() phyRxDrop = list() #listes pour la couche mac macRxOk = list() macTxOk = list() macTxDrop = list() macRxDrop = list() #initialisation des listes initialiserListe(phyRxOk, "Reception") initialiserListe(phyTxOk, "Transmission") initialiserListe(phyTxDrop, "Transmission") initialiserListe(phyRxDrop, "Reception") initialiserListe(macRxOk, "Reception") initialiserListe(macTxOk, "Transmission") initialiserListe(macTxDrop, "Transmission") initialiserListe(macRxDrop, "Reception") #motif1: motif de la ligne qui contient entre autres les id des noeuds emetteur et recepteur #motif2: motif de la ligne qui contient les différentes entêtes qui ont été ajoutés à un paquet motif1, motif2 = formerMotif(fichier) #on récupère l'ensemble des fichiers du repertoire spécifié dans une liste listeFichiers = os.listdir(chemin) for fichier in listeFichiers: ligne = " " #variable qui représente une ligne du fichier with open(fichier, "r") as flux: while ligne != '': #boucle qui continue tant qu'il y a une ligne non vide ligne = flux.readline() if re.match(motif1,ligne): if fichier == 'phy-tx-ok.tr': resultat = re.match(motif1,ligne) sender = int(resultat.group(1)) phyTxOk[sender] += 1 if fichier == 'mac-rx-end.tr': resultat = re.match(motif1,ligne) receiver = int(resultat.group(1)) sender = int(resultat.group(2)) if macRxOk[receiver] != []: correct, identifiant = emetteurExiste(macRxOk, sender, receiver) if correct: macRxOk[receiver][identifiant][1] += 1 #on incrémente le nombre de fois qu'on reçoit le paquet pour ce noeud else: macRxOk[receiver].append([sender, 1]) else: macRxOk[receiver].append([sender, 1]) #print macRxOk[0] #print phyRxDrop #print phyTxOk return macRxOk, phyTxOk, phyRxOk, phyTxDrop, phyRxDrop, macTxOk, macTxDrop, macRxDrop |
j'ai ce message d'erreur
1 2 3 4 | File "analyse_tr.py", line 78 listeFichiers = os.listdir(chemin) ^ IndentationError: unindent does not match any outer indentation level |
la ligne 78 correspond à la ligne 36 du code. Si quelqu'un peut m'expliquer le pourquoi du problème, ce serait gentil. Merci bien.
+0
-0