Rechercher plusieurs lignes dans un fichier
pierre411
Messages postés
3
Date d'inscription
Statut
Membre
Dernière intervention
-
Arm.7.ageddon Messages postés 42 Date d'inscription Statut Membre Dernière intervention -
Arm.7.ageddon Messages postés 42 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je débute en Python.
J'ai le début de code pour ouvrir mon fichier, je parviens à extraire une ligne mais pas 2.
Voici ce qui se trouve dans mon fichier :
Nom de l'image : ....
X minimum : 585000.0000
X maximum : 590000.0000
Y minimum : 6565000.0000
Y maximum : 6570000.0000
Je voudrais récupérer X minimum et Y maximum. J'ai le début de code suivant. Seul la première partie fonctionne.
srcFile = open(fichiergeoref,'r')
for line in srcFile:
if line.find("X minimum") >=0:
continue
if line.find("Y maximum") >=0:
print(line)
srcFile.close()
Pourriez vous m'aider.
Je débute en Python.
J'ai le début de code pour ouvrir mon fichier, je parviens à extraire une ligne mais pas 2.
Voici ce qui se trouve dans mon fichier :
Nom de l'image : ....
X minimum : 585000.0000
X maximum : 590000.0000
Y minimum : 6565000.0000
Y maximum : 6570000.0000
Je voudrais récupérer X minimum et Y maximum. J'ai le début de code suivant. Seul la première partie fonctionne.
srcFile = open(fichiergeoref,'r')
for line in srcFile:
if line.find("X minimum") >=0:
continue
if line.find("Y maximum") >=0:
print(line)
srcFile.close()
Pourriez vous m'aider.
A voir également:
- Rechercher plusieurs lignes dans un fichier
- Fichier bin - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Fichier rar - Guide
- Fichier .dat - Guide
2 réponses
Salut,
Python n'est pas ma tasse de thé, mais il me semble que
En tout état de cause, la fonction ne renvoie qu'un index ou -1 en cas d'erreur et pas la valeur que tu cherches à obtenir.
Au lieu de jongler avec des index, tu peux utiliser une regexp, comme ceci pour capturer ce que tu souhaites et valider le format de la ligne analysée par la même occasion :
Voir :
https://docs.python.org/2/library/string.html
https://docs.python.org/2/library/re.html#match-objects
Dal
Python n'est pas ma tasse de thé, mais il me semble que
string.find(s, sub[, start[, end]])est obsolète en Python 3... aussi je suppose que tu utilises Python 2.
En tout état de cause, la fonction ne renvoie qu'un index ou -1 en cas d'erreur et pas la valeur que tu cherches à obtenir.
Au lieu de jongler avec des index, tu peux utiliser une regexp, comme ceci pour capturer ce que tu souhaites et valider le format de la ligne analysée par la même occasion :
import re line = "X minimum : 585000.0000" match = re.match(r"X minimum\s+:\s+([0-9.]+)", line) if match: print match.group(1)
Voir :
https://docs.python.org/2/library/string.html
https://docs.python.org/2/library/re.html#match-objects
Dal