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   -
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.
A voir également:

2 réponses

[Dal] Messages postés 6205 Date d'inscription   Statut Contributeur Dernière intervention   1 105
 
Salut,

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
0
Arm.7.ageddon Messages postés 42 Date d'inscription   Statut Membre Dernière intervention   5
 
Tu n'as que 5 lignes dans ton fichier ? avec uniquement ce que tu indiques ?
0