begin process at 2012 05 24 22:42:27
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Python

 > 

Divers

 > 

Débutant(e)

 > 

Condition ne fonctionne pas


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Condition ne fonctionne pas

mercredi 9 juillet 2008 à 14:16:30 | Condition ne fonctionne pas

Fabrizio001

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


jeudi 10 juillet 2008 à 09:21:53 | Re : Condition ne fonctionne pas

laurent1024

Membre Club
Bonjour.
A mon avis ton problème est que quand tu fais i = 1, python crée une variable locale i, mais il ne modifie pas la variable i que tu as définis avant.
Essaye de remplacer dans la fonction num ton i=1 par
global i
i = 1

Cdt
ps : il y a un truc que je ne comprend pas dans ton code
def num(ligne,numeroLigne):
num(ligne,numeroLigne,retour) <== a quoi sert la variable "retour"  ?
jeudi 10 juillet 2008 à 14:22:01 | Condition ne fonctionne pas

Fabrizio001

Super ça fonctionne parfaitement, un tout grand merci.

Au fait la variable retour ne sert à rien, j'ai juste oublié de l'enlever après un de mes nombreux essais pour trouver la solution à mon problème.

Me reste plus qu'à trouver le moyen de dire à python de recopier mon fichier d'origine dans un sous-répertoire et de corriger automatiquement les lignes erronées de mon .txt

Je vais plancher dessus et si je patauge, je vous refais signe.

Merci

@+




Cette discussion est classée dans : fichier, ligne, mot, condition, numeroligne


Répondre à ce message

Sujets en rapport avec ce message

executer un script perl linux sous windows [ par bensirack ] bonjour j'ai un script perl ki marche correctement sur linux mais que je dois executer sous windows. j'ai essaye de faire quelque modif pour qu'elle m utilisation des listes [ par bossou ] Bonjour tout le monde. j'ai un fichier texte que je crée à partir un autre fichier. le nouveau fichier créer contient plusieurs lignes dont chaque lig Remplacer un mot ou un nombre dans un fichier [ par tptpt ] Bonjour,Es-ce possible de remplacer un mot ou un nombre dans un fichier grace à python? script python [ par emma66 ] Bonjour, Je recherche un code en python d'une fonction mapList dont le role est de recopier dans la variable Map passée en paramétre les lignes du fic (python] suppression de certaines parties d'un fichier texte [ par Flobertime ] Bonjour, Je souhaiterai supprimer certaines partie d'un fichier texte. Ces parties seraient par exemple de la ligne 1 à la ligne 12 et de 25 à 45. o Caractère de coupure + formfeed [ par bowbz ] Bonjour, J'essaie de créer de multiples fichiers à partir d'un gros fichier. Dans ce gros fichier, il y a un séparateur que j'aimerai utiliser comme Recherche de mots dans un fichier [ par Malrod ] Bonjour. Je débute en python et j'aimerais me faire un "moteur de recherche" pour fouiller dans des fichiers. J'aimerais ici demander la recherche comparer les valeurs d'un tableau [ par basmaber ] bonjour, je suis débutante en phyton et je dois faire un programme qui permet d'ouvrir un fichier txt de ce genre : "I1";15.;100.;120.;80. .... et ap lire et comparer les valeurs d'un fichier [ par basmaber ] Bonjour, j'ai crée une boucle qui lit et compare les valeur d'un fichier , mais le problème ma boucle fonctionne pour toute les valeurs sauf une je ne enregistrer des valeur dans un fichier [ par fabespa34 ] Bonjour, pour m'amuser j'ai fais un générateur de mot de passe et au moment d'enregistrer le mot de passe et l'identifiant associé ça coince. Voilà le


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 4,852 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales