Lycée Brizeux – 2015/2016 LECTURE – ÉCRITURE DANS UN FICHIER Informatique – PCSI B
CHAPITRE 8
LECTURE – ÉCRITURE DANS UN FICHIER
Un programme Python peut lire ou écrire sur des fichiers du disque dur. Cela est utile notamment
pour traiter des données issues de sources extérieures. Par exemple,
récuppérer des données d’un fichier externe (pas forcément d’extension .py) ;
écrire un fichier contenant les tests d’un programme python ;
écrire un journal d’historique au cours de l’exécution d’un programme python (fichier log).
1 Lire les lignes d’un fichier
Python permet d’accéder aux données d’un fichier, en le lisant ligne par ligne :
1. on ouvre le fichier, à l’aide de la commande :
.est la nom de la variable permettant l’utilisation du fichier( peut être différent).
.Le premier argument est une chaîne de caractère contenant le nom du fichier à ouvrir.
Si le fichier est enregistré dans une autre dossier, il faut spécifier le chemin d’accès du fichier.
L extension du nom du fichier considéré permet d’identifier son format (par exemples,
pour certains textes, pour certains fichiers audio, pour certains fichiers images, etc.).
Il arrive que certains fichiers texte n’ai pas d’extension.
.l’argument sert à préciser que le fichier est « manipulé » en mode lecture (read).
2. on lit les lignes successivement, via des instructions construites avec
: lecture de la prochaine ligne. Le résultat est une chaîne de caractères qui
se termine par le symbole (symbole de changement de ligne, compte comme un seul caractère)
: lecture des prochaines lignes, jusqu’à la fin du fichier. Le résultat est
une liste de chaînes de caractères.
: lecture de la fin du texte, sous la forme d’une unique chaîne de caractère.
Remarque : si le nom de la variable est différent de , il faut adapter les instructions.
3. on ferme le fichier via l’instruction
Il est indispensable de fermer tout fichier ouvert lorsque le programme a fini de travailler dessus.
Attention, à chaque lecture (d’une ligne ou de tout le fichier), la lecture reprend là où elle s’était
arrrêtée. Pour reprendre la lecture au début, il faut fermer le fichier puis le rouvrir.
Exemple d’utilisation
Pour lire, avec Python, les lignes d’un fichier nommé , on utilise la syntaxe décrite précé-
demment comme indiqué dans le programme suivant :
ouverture du fichier et affectation dans une variable
affichage et lecture de la première ligne
lecture des lignes restantes
affichage de celles-ci
fermeture
ATTENTION !
Les lignes lues dans le fichier considéré sont des chaînes de caractères. Ainsi, si l’on s’intéresse, par
exemple, à des données numériques, il faudra les convertir dans le type ou pour pouvoir
les exploiter ensuite.
Remarque. Si on sait à l’avance que l’on aura besoin de la ligne numéro 3 141 592 du fichier, on doit
quand même parcourir tout le fichier jusqu’à la ligne voulue (pas d’accès direct). Ce processus est donc
couteux en temps. Pour gérer plus efficacement de grands fichiers, on utilise des bases de données (elles
seront abordées plus tard dans l’année).
1
Lycée Brizeux – 2015/2016 LECTURE – ÉCRITURE DANS UN FICHIER Informatique – PCSI B
2 Écrire des données dans un fichier
2.1 Écriture dans un nouveau fichier
Pour écrire dans un fichier :
1. on ouvre le fichier en écriture, par :
.l’argument précise que le fichier est « manipulé » en mode écriture (write)), ce qui créera
ce fichier s’il n’existait pas, et l’écrasera (efface toutes les données présentes) s’il existait déjà.
2. on y écrit des chaînes de caractères, avec
Python renvoie alors le nombre de caractères écrits. On peut utiliser cette instruction plusieurs
fois : ceci poursuivra la ligne courante. Pour terminer une ligne, on utilise le caractère . Un
espace est un caractère.
3. on ferme le fichier, via l’instruction
Ceci permet d’enregistrer les modifications.
Exemple d’utilisation
ouverture du fichier et affectation dans une variable
écriture
\
fermeture
ouverture du fichier créé
lecture du fichier entier
fermeture
2.2 Écriture à la fin d’un fichier existant
Pour compléter un fichier déjà existant :
1. on ouvre le fichier en écriture avec ajout, par :
.l’argument précise que le fichier est « manipulé » en mode écriture avec ajout (append)).
Les nouvelles données écrites sont ajoutées après les données déjà présentes dans le fichier,
en poursuivant la dernière ligne.
2. on y écrit des chaînes de caractères, avec
3. on ferme le fichier, via l’instruction
Exemple d’utilisation : suite de l’exemple précédent
ouverture du fichier et affectation dans une variable
\ écriture
fermeture
ouverture du fichier créé
lecture du fichier entier
fermeture
2
Lycée Brizeux – 2015/2016 LECTURE – ÉCRITURE DANS UN FICHIER Informatique – PCSI B
3 Exercices d’application
1. Lecture
(a) Mode lecture
Ouvrir, avec python, le fichier en mode lecture et l’affecter à la variable .
Ajouter tout de suite l’instruction de fermeture du fichier, quelques lignes plus bas, pour ne
pas l’oublier.
(b) Entre l’instruction d’ouverture du fichier et celle de fermeture, créer une liste contenant
les lignes du fichier . En déduire le nombre de lignes du fichier (on
affichera le résultat à l’aide d’un ).
(c) Afficher (avec un ) les lignes 1 et 10 (uniquement).
Pensez à ouvrir une nouvelle instance du fichier, car à la question (b) on atteint la fin du
fichier. On affichera d’abord la ligne 1, puis on parcourera les lignes 2 à 9, sans les afficher, à
l’aide d’une boucle et de la commande . Enfin, on affichera la ligne 10.
2. Écriture
(a) Mode écriture
Créer, avec python, un fichier appelé . Dans ce fichier, et à l’aide d’une
boucle , écrire 30 lignes de texte de la forme : , où kvarie entre 1 et
30 (exemple : ).
La dernière ligne ne doit pas contenir de retour chariot (sinon, le fichier contiendra au
total 31 lignes). Ne pas oublier de fermer tout fichier ouvert.
(b) Ouvrir (directement, sans python) le fichier pour vérifier le contenu.
(c) Mode écriture avec ajout
Ajouter la ligne suivante de la table de multiplication : 31×7, sur le même modèle que pré-
cédemment. Ne pas oublier pas d’aller à la ligne.
(d) Ouvrir (directement, sans python) le fichier pour vérifier son contenu.
3
1 / 3 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !