Bonjour,
Je débute (1 semaine )en python et je sollicite votre aide.
Voici ce que j'essaye de faire:
Je veux contrôler le contenu d'un fichier .txt qui peut comporter des centaines de lignes.
Dans ces lignes je veux chercher un mot ou phrase, lorsque ce mot est trouvé le résultat est le mot + numéro de la ligne.
Ceci me permettra de trouver facilement la(les) ligne(s) de mon fichier à corriger.
Voici mon code :
#!/usr/bin/python
print "Entrez le nom du fichier"
v = raw_input()
i = 0
mot = "test"
fichier = "c:/repertoire" + v
def num(ligne,numeroLigne):
print "resultat %s a la ligne numero %s" % (mot,numeroLigne)
i = 1
for numeroLigne,ligne in enumerate(open(fichier,'r').xreadlines()):
mot in ligne and num(ligne,numeroLigne,retour)
if i<=0:
print "Le fichier est correct"
raw_input ('Appuyez sur entrée pour quitter le programme...')
Mon code fonctionne sauf la dernière condition qui doit m'informer que le fichier est correct si le mot n'est pas trouvé.
Car même lorsque le mot est trouvé, il me dit que le fichier est correct, ce n'est pas un gros problème, car il me communique bien les lignes à corriger, cependant je ne comprends pas pourquoi il ne tient pas compte de ma condition et ça m'énerve un peu.
La solution est sans doute évidente, je pense qu'il ne tient pas compte de ma variable i que je fais évoluer à 1, lorsqu'il a terminé de contrôler le fichier.
Pouvez-vous m'aider?
Merci
Fabrizio