Manipulation de fichiers

Problème : un fichier liste1s1.txt contient le prénom de 34 élèves (un prénom par ligne, 34 lignes, un saut de ligne à la fin de chaque ligne). Récupérons ces 34 prénoms pour former une liste de 34 chaînes de caractères.

Ouverture d'un fichier en lecture et lecture du fichier

In [4]:
monFichier = open("/media/pv/1B71-6E9B/lycee/20182019/1S/liste1s1.txt", "r")                 #"r" pour read : le fichier est ouvert en lecture
print(monFichier.read())
monFichier.close()     #fermeture du fichier
Sakina
Lilou
Corentin
Gaia
Lisa
Gabrielle
Imène
Nicolas
Matéo
Naïm
Axiane
Mazarine
Suzanne
Youenn
Félix
Melissa
Camille
Lisy-Anne
Hélène
Noa
Justine
Salim
Malo
Margot
Gwendal
Chourouk
Samuel
Elliot
Noé
Ambre
Antoine
Cléome
Hugo
Alban

Créons une liste contenant ces prénoms :

In [23]:
monFichier = open("/media/pv/1B71-6E9B/lycee/20182019/1S/liste1s1.txt", "r")
liste1s1 = []
for ligne in monFichier:
    liste1s1 = liste1s1 + [ligne]
monFichier.close()
print(liste1s1)
['Sakina\n', 'Lilou\n', 'Corentin\n', 'Gaia\n', 'Lisa\n', 'Gabrielle\n', 'Imène\n', 'Nicolas\n', 'Matéo\n', 'Naïm\n', 'Axiane\n', 'Mazarine\n', 'Suzanne\n', 'Youenn\n', 'Félix\n', 'Melissa\n', 'Camille\n', 'Lisy-Anne\n', 'Hélène\n', 'Noa\n', 'Justine\n', 'Salim\n', 'Malo\n', 'Margot\n', 'Gwendal\n', 'Chourouk\n', 'Samuel\n', 'Elliot\n', 'Noé\n', 'Ambre\n', 'Antoine\n', 'Cléome\n', 'Hugo\n', 'Alban']

On remarque les \n (sauts de ligne) pas très jolis (sauf sur le dernier prénom). Supprimons les \n dès le départ (NB : on ne peut pas modifier une chaîne de caractères ; il faut renommer line) :

In [42]:
monFichier = open("/media/pv/1B71-6E9B/lycee/20182019/1S/liste1s1.txt", "r")
liste1s1 = []
for ligne in monFichier:
    prenom= ligne.replace('\n','')
    liste1s1 = liste1s1 + [prenom]
monFichier.close()
print(liste1s1)
['Sakina', 'Lilou', 'Corentin', 'Gaia', 'Lisa', 'Gabrielle', 'Imène', 'Nicolas', 'Matéo', 'Naïm', 'Axiane', 'Mazarine', 'Suzanne', 'Youenn', 'Félix', 'Melissa', 'Camille', 'Lisy-Anne', 'Hélène', 'Noa', 'Justine', 'Salim', 'Malo', 'Margot', 'Gwendal', 'Chourouk', 'Samuel', 'Elliot', 'Noé', 'Ambre', 'Antoine', 'Cléome', 'Hugo', 'Alban']
In [ ]: