[PYTHON] : Lecture dans le fichier avec readlines()

Discutez d'informatique ici !
nico10310
Membre Naturel
Messages: 45
Enregistré le: 30 Oct 2016, 12:21

[PYTHON] : Lecture dans le fichier avec readlines()

par nico10310 » 18 Nov 2016, 11:52

Bonjour,
J'ai un autre programme qui me pose soucis :

Enoncé :
Les lignes du fichier sont organisées afin que chaque mois soit sur une ligne différente. En python, on va lire toutes les lignes ensemble et les stocker directement dans une liste (un élément par ligne).

Code: Tout sélectionner
fichier = open(input()) #pour ouvrir le fichier
listeLignes = fichier.readlines() # pour créer une liste dont les élements sont des chaînes de caractères de chaque ligne du fichier.
fichier.close() # une fois terminé le travail sur le fichier


Ecrire un programme qui lit un fichier dont le nom sera saisi au clavier et qui affiche la mesure donnée d'un mois donné. Le programme saisit donc 3 données : le nom du fichier, le numéro du mois et le numéro de la mesure dans le mois.
Pour simplifier, les mesures et les mois sont numérotés à partir de 0.

Entrée du programme
Le nom d'un fichier (contenant des floats séparés par des espaces sur une ou plusieurs lignes) suivi de deux entiers.

Sortie du programme
Un flottant (la mesure en question).

Exemples :

Entrée :
Code: Tout sélectionner
fichier.txt
3 (le numéro du mois)
5 (le numéro de la mesure dans le mois, la 4ème donc puisqu'on commence à 0)


C'est le nom d'un fichier qui contient :
Code: Tout sélectionner
58.4 59.0 61.1 61.0 58.6 60.7 62.5 62.7 61.4
60.2 61.1 59.4 58.1 59.3 58.1 61.7 58.8
60.7 59.7 58.7 62.9 61.0 58.0
60.2 60.9 58.0 62.3 62.5 59.9 60.1 58.8 61.7 61.3 58.8 58.4 61.8 62.4 58.6 60.3 62.1 62.0 59.7 61.5
58.6 60.7 58.0 62.1 59.9 59.3


Sortie :
59.9

Pour l'instant j'ai réussi à extraire le mois mais là je bloque, il faudrait transformer la ligne du mois en liste.
Ce que j'ai fait :
Code: Tout sélectionner
fichier = open(input())
mois = int(input())
num = int(input())


listeLignes = fichier.readlines()[mois]


print(listeLignes)

listeLignes=[listeLignes]
print(listeLignes)


fichier.close()


qui affiche :
Code: Tout sélectionner
fichier.txt
 3
 3
60.2 60.9 58.0 62.3 62.5 59.9 60.1 58.8 61.7 61.3 58.8 58.4 61.8 62.4 58.6 60.3 62.1 62.0 59.7 61.5

['60.2 60.9 58.0 62.3 62.5 59.9 60.1 58.8 61.7 61.3 58.8 58.4 61.8 62.4 58.6 60.3 62.1 62.0 59.7 61.5\n']


Merci ! :)



danyL
Membre Rationnel
Messages: 682
Enregistré le: 03 Jan 2015, 14:29

Re: [PYTHON] : Lecture dans le fichier avec readlines()

par danyL » 18 Nov 2016, 19:11

bonsoir
je ne connais pas bien python mais habituellement dans les autres langages on utilise la fonction split() dans ce genre de cas
https://www.tutorialspoint.com/python/string_split.htm

nico10310
Membre Naturel
Messages: 45
Enregistré le: 30 Oct 2016, 12:21

Re: [PYTHON] : Lecture dans le fichier avec readlines()

par nico10310 » 19 Nov 2016, 15:36

Oui j'ai réussi grâce à ton lien
Merci

 

Retourner vers ϟ Informatique

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 6 invités

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite