SlideShare une entreprise Scribd logo
[LES FICHIERS EN PYTHON] ESPRIMS’
Mariem ZAOUALI | Chapitre 6 : Les fichiers en Python 1
Chapitre 6 : Les fichiers en Python
 Manipulation des fichiers textes et binaires : Ouverture, lecture, écriture et
fermeture
Manipulation des fichiers
On appellera fichier toute collection de données (textuelles ou binaires) enregistrée
sur un support physique (un disque dur, une clé usb, etc). Un fichier peut être
accessible en lecture seule, ou en lecture/écriture. Pour pouvoir être consulté et/ou
modifié, il doit être ouvert d’abord, puis fermé ensuite (mais Python se charge
souvent de fermer le fichier lui-même quand tout est terminé).
Dans la suite, on suppose qu’on se place uniquement dans le dossier courant. Les
fichiers seront donc désignés par leur nom, simplement, sans indication d’un chemin
d’accès. Mais si on veut un contrôle précis sur les dossiers, on importera le module os
(operating system) qui fournit quelques fonctions utiles :
 os.getcwd() : renvoie le dossier actuel
 os.chdir(‘chemin’) : désigne un nouveau dossier de travail
a. Manipulation des fichiers textes
Ouverture :
varFichier=open(NomFichier,ModeTypAccess)
La commande nécessite deux paramètres pour créer une variable en mémoire qui
représente le fichier physique nommé NomFichier :
 Le nom physique du fichier sur le support qui est généralement stocké dans le
répertoire courant de Python
 Le mode d’accès : Trois modes sont possibles
o w: ‘writing’ : si le fichier existe déjà son contenu sera remplacé par un
nouveau contenu, dans le cas contraire, on crée un fichier en mode
écriture pour y enregistrer du texte.
o r: ‘reading’ : Le mode lecture : le fichier est ouvert pour qu’il soit
consulté
o a :’append’ : C’est un mode semblable au mode ‘w’ sauf qu’on
n’écrase pas l’ancien contenu du fichier, mais on ajoute à la fin du
fichier de chaînes de caractères nouvelles
 Le type d’accès
o ‘t’ : le fichier est considéré comme une suite de caractères ascii : c’est
le mode texte
o ‘b’ : le fichier est considéré comme une suite d’octets : c’est le mode
binaire
Exemple :
[LES FICHIERS EN PYTHON] ESPRIMS’
Mariem ZAOUALI | Chapitre 6 : Les fichiers en Python 2
Ecriture :
varFichier.write(chaine_de_caracteres)
La commande write enregistre la chaine dans le fichier et retourne la longueur de
cette dernière.
Il faut toujours penser à fermer le fichier à la fin de son utilisation surtout qu’il est
ouvert en mode ‘w’ ou ‘a’ pour que les modifications soient enregistrées. La
commande closed permet de tester si le fichier est fermé avec succès, son résultat
est booléen.
Consultant le fichier créé ! Les chaines sont écrites sur une même ligne ! Pour écrire
sur plusieurs lignes, il faut ajouter le caractère ‘n’ à la fin de chaque chaîne au
niveau de la commande write :
On peut utiliser un conteneur pour stocker des chaînes dans un fichier :
[LES FICHIERS EN PYTHON] ESPRIMS’
Mariem ZAOUALI | Chapitre 6 : Les fichiers en Python 3
Ecriture en fin de fichier :
Lecture :
Avant de pouvoir lire le contenu d’un fichier, on doit l’ouvrir en mode lecture texte
avec la commande open(nomFichier,’rt’). La consultation du contenu peut
s’effectuer de trois manières :
 varFichier.read() : Affiche le contenu intégral du fichier :
 varFichier.readline : lit le fichier ligne par ligne, à chaque fois qu’on rencontre
le caractère ‘n’, on s’arrête :
Autrement :
 varFichier.readlines() : retourne une liste constituée des lignes du fichier :
[LES FICHIERS EN PYTHON] ESPRIMS’
Mariem ZAOUALI | Chapitre 6 : Les fichiers en Python 4
b. Manipulation des fichiers binaires
La sérialisation (l’enregistrement) des variables de tout type en Python est possible.
Ainsi, aucune variable ne sera effacée dès qu’on quitte le prompt et ce grâce au
module pickle. On ne parle plus de fichiers texte, mais de fichiers de flux binaires.
 Ouverture :
o varFichier=open(nomFichier,’wb’) : ouvre un fichier binaire en mode
écriture
o varFichier=open(nomFichier,’rb’) : ouvre un fichier binaire en mode
lecture
 Ecriture :
o On utilise la commande dump du module pickle :
pickle.dump(objet,varFichier) à condition que le module pickle est
déjà chargé, l’objet python est déjà créé et le fichier est déjà ouvert
en mode écriture binaire :
 Lecture :
o On utilise toujours le module pickle, spécifiquement la méthode load.
On peut utiliser cette méthode autant que l’on veut à condition de ne
pas dépasser la taille du fichier, sinon une exception EOFError sera
levée :
o Pour éviter cette exception, on emploie les clauses try..except
[LES FICHIERS EN PYTHON] ESPRIMS’
Mariem ZAOUALI | Chapitre 6 : Les fichiers en Python 5

Contenu connexe

Tendances

SdE 6 - Gestion de la memoire
SdE 6 - Gestion de la memoireSdE 6 - Gestion de la memoire
SdE 6 - Gestion de la memoire
Alexandru Radovici
 
Systemes d'explotation: Threads
Systemes d'explotation: ThreadsSystemes d'explotation: Threads
Systemes d'explotation: Threads
Alexandru Radovici
 
SdE 1 - Introduction
SdE 1 - IntroductionSdE 1 - Introduction
SdE 1 - Introduction
Alexandru Radovici
 
SdE 3 - System de fichiers
SdE 3 - System de fichiersSdE 3 - System de fichiers
SdE 3 - System de fichiers
Alexandru Radovici
 
Xp protégez vos fichiers ...
Xp   protégez vos fichiers ...Xp   protégez vos fichiers ...
Xp protégez vos fichiers ...
Corm75
 
Installation et configuration du servuer ftp et tftp
Installation et configuration du servuer ftp et tftpInstallation et configuration du servuer ftp et tftp
Installation et configuration du servuer ftp et tftp
Amdy Moustapha
 
Initiation Linux
Initiation LinuxInitiation Linux
Initiation Linux
Amaury Khelifi
 
SdE TP 3 - Fonctions d'entrée et sortie
SdE TP 3 - Fonctions d'entrée et sortieSdE TP 3 - Fonctions d'entrée et sortie
SdE TP 3 - Fonctions d'entrée et sortie
Alexandru Radovici
 
FreeBSD vs Linux, RMLL 2014
FreeBSD vs Linux, RMLL 2014FreeBSD vs Linux, RMLL 2014
FreeBSD vs Linux, RMLL 2014
Loïc Tosser
 
Présentation unix linux
Présentation unix linuxPrésentation unix linux
Présentation unix linux
Emmanuel Florac
 
Développement des chaînes de traitement d'images GEOSUD
Développement des chaînes de traitement d'images GEOSUDDéveloppement des chaînes de traitement d'images GEOSUD
Développement des chaînes de traitement d'images GEOSUD
otb
 
SdE - Introduction
SdE - IntroductionSdE - Introduction
SdE - Introduction
Alexandru Radovici
 
Processus pére fils
Processus pére filsProcessus pére fils
Processus pére fils
Selman Dridi
 
SdE 3 - Systemes de fichiers
SdE 3 - Systemes de fichiersSdE 3 - Systemes de fichiers
SdE 3 - Systemes de fichiers
Alexandru Radovici
 

Tendances (16)

SdE 6 - Gestion de la memoire
SdE 6 - Gestion de la memoireSdE 6 - Gestion de la memoire
SdE 6 - Gestion de la memoire
 
Systemes d'explotation: Threads
Systemes d'explotation: ThreadsSystemes d'explotation: Threads
Systemes d'explotation: Threads
 
SdE 1 - Introduction
SdE 1 - IntroductionSdE 1 - Introduction
SdE 1 - Introduction
 
SdE 3 - System de fichiers
SdE 3 - System de fichiersSdE 3 - System de fichiers
SdE 3 - System de fichiers
 
Xp protégez vos fichiers ...
Xp   protégez vos fichiers ...Xp   protégez vos fichiers ...
Xp protégez vos fichiers ...
 
Installation et configuration du servuer ftp et tftp
Installation et configuration du servuer ftp et tftpInstallation et configuration du servuer ftp et tftp
Installation et configuration du servuer ftp et tftp
 
Initiation Linux
Initiation LinuxInitiation Linux
Initiation Linux
 
SdE TP 3 - Fonctions d'entrée et sortie
SdE TP 3 - Fonctions d'entrée et sortieSdE TP 3 - Fonctions d'entrée et sortie
SdE TP 3 - Fonctions d'entrée et sortie
 
FreeBSD vs Linux, RMLL 2014
FreeBSD vs Linux, RMLL 2014FreeBSD vs Linux, RMLL 2014
FreeBSD vs Linux, RMLL 2014
 
Rar
RarRar
Rar
 
Linux commandes
Linux commandesLinux commandes
Linux commandes
 
Présentation unix linux
Présentation unix linuxPrésentation unix linux
Présentation unix linux
 
Développement des chaînes de traitement d'images GEOSUD
Développement des chaînes de traitement d'images GEOSUDDéveloppement des chaînes de traitement d'images GEOSUD
Développement des chaînes de traitement d'images GEOSUD
 
SdE - Introduction
SdE - IntroductionSdE - Introduction
SdE - Introduction
 
Processus pére fils
Processus pére filsProcessus pére fils
Processus pére fils
 
SdE 3 - Systemes de fichiers
SdE 3 - Systemes de fichiersSdE 3 - Systemes de fichiers
SdE 3 - Systemes de fichiers
 

Similaire à Chap6 Manipulation des fichiers

Les_fichiers_sousPython..TXT et JSON et csv
Les_fichiers_sousPython..TXT et JSON et csvLes_fichiers_sousPython..TXT et JSON et csv
Les_fichiers_sousPython..TXT et JSON et csv
nadiamfr1
 
La gestion des fichiers en python lire, ecrire des fichiers texte en python
La gestion des fichiers en python lire, ecrire des fichiers texte en pythonLa gestion des fichiers en python lire, ecrire des fichiers texte en python
La gestion des fichiers en python lire, ecrire des fichiers texte en python
dioufagm2
 
Manipulation_des_fichiers_en_C.ppsx
Manipulation_des_fichiers_en_C.ppsxManipulation_des_fichiers_en_C.ppsx
Manipulation_des_fichiers_en_C.ppsx
YallaHabibi5
 
Manipulation des fichiers en C.pptx
Manipulation des fichiers en C.pptxManipulation des fichiers en C.pptx
Manipulation des fichiers en C.pptx
olfaharrabi2
 
Chapitre_Les fichiers_VF.pptx
Chapitre_Les fichiers_VF.pptxChapitre_Les fichiers_VF.pptx
Chapitre_Les fichiers_VF.pptx
Moez Moezm
 
Tp n 3 linux
Tp n 3 linuxTp n 3 linux
Tp n 3 linux
Amir Souissi
 
Pres_ java_Fichier_Suite_cour sur les fichier en java.pdf
Pres_ java_Fichier_Suite_cour sur les fichier en java.pdfPres_ java_Fichier_Suite_cour sur les fichier en java.pdf
Pres_ java_Fichier_Suite_cour sur les fichier en java.pdf
HERGALYOUSSEF
 
Le système d’E/S en Java
Le système d’E/S en JavaLe système d’E/S en Java
Le système d’E/S en Java
Korteby Farouk
 
Stockage de données dans Android : Fichiers
Stockage de données dans Android : FichiersStockage de données dans Android : Fichiers
Stockage de données dans Android : Fichiers
Lilia Sfaxi
 
Cours_Linux_S1_Partie 2.pptx
Cours_Linux_S1_Partie 2.pptxCours_Linux_S1_Partie 2.pptx
Cours_Linux_S1_Partie 2.pptx
Khalil BOUKRI
 
Entrees sorties
Entrees sortiesEntrees sorties
Entrees sorties
yazidds2
 
Ch1 p1
Ch1 p1Ch1 p1
Ch1 p1
nihad Rahabi
 
Formation Linux - Initiation
Formation Linux - InitiationFormation Linux - Initiation
Formation Linux - Initiation
robertpluss
 
les Commandes linux/Unix (giants networks)
les Commandes linux/Unix (giants networks)les Commandes linux/Unix (giants networks)
les Commandes linux/Unix (giants networks)
Souhaib El
 
Administration linux
Administration linuxAdministration linux
Administration linux
Joeongala
 

Similaire à Chap6 Manipulation des fichiers (16)

Les_fichiers_sousPython..TXT et JSON et csv
Les_fichiers_sousPython..TXT et JSON et csvLes_fichiers_sousPython..TXT et JSON et csv
Les_fichiers_sousPython..TXT et JSON et csv
 
La gestion des fichiers en python lire, ecrire des fichiers texte en python
La gestion des fichiers en python lire, ecrire des fichiers texte en pythonLa gestion des fichiers en python lire, ecrire des fichiers texte en python
La gestion des fichiers en python lire, ecrire des fichiers texte en python
 
Manipulation_des_fichiers_en_C.ppsx
Manipulation_des_fichiers_en_C.ppsxManipulation_des_fichiers_en_C.ppsx
Manipulation_des_fichiers_en_C.ppsx
 
Manipulation des fichiers en C.pptx
Manipulation des fichiers en C.pptxManipulation des fichiers en C.pptx
Manipulation des fichiers en C.pptx
 
Python chapitre 6.pdf
Python chapitre 6.pdfPython chapitre 6.pdf
Python chapitre 6.pdf
 
Chapitre_Les fichiers_VF.pptx
Chapitre_Les fichiers_VF.pptxChapitre_Les fichiers_VF.pptx
Chapitre_Les fichiers_VF.pptx
 
Tp n 3 linux
Tp n 3 linuxTp n 3 linux
Tp n 3 linux
 
Pres_ java_Fichier_Suite_cour sur les fichier en java.pdf
Pres_ java_Fichier_Suite_cour sur les fichier en java.pdfPres_ java_Fichier_Suite_cour sur les fichier en java.pdf
Pres_ java_Fichier_Suite_cour sur les fichier en java.pdf
 
Le système d’E/S en Java
Le système d’E/S en JavaLe système d’E/S en Java
Le système d’E/S en Java
 
Stockage de données dans Android : Fichiers
Stockage de données dans Android : FichiersStockage de données dans Android : Fichiers
Stockage de données dans Android : Fichiers
 
Cours_Linux_S1_Partie 2.pptx
Cours_Linux_S1_Partie 2.pptxCours_Linux_S1_Partie 2.pptx
Cours_Linux_S1_Partie 2.pptx
 
Entrees sorties
Entrees sortiesEntrees sorties
Entrees sorties
 
Ch1 p1
Ch1 p1Ch1 p1
Ch1 p1
 
Formation Linux - Initiation
Formation Linux - InitiationFormation Linux - Initiation
Formation Linux - Initiation
 
les Commandes linux/Unix (giants networks)
les Commandes linux/Unix (giants networks)les Commandes linux/Unix (giants networks)
les Commandes linux/Unix (giants networks)
 
Administration linux
Administration linuxAdministration linux
Administration linux
 

Plus de Mariem ZAOUALI

Chap5 La manipulation des iterables en python
Chap5 La manipulation des iterables en pythonChap5 La manipulation des iterables en python
Chap5 La manipulation des iterables en python
Mariem ZAOUALI
 
Chap7 simulation numérique
Chap7 simulation numériqueChap7 simulation numérique
Chap7 simulation numérique
Mariem ZAOUALI
 
Chap4 Récursivité en python
Chap4 Récursivité en pythonChap4 Récursivité en python
Chap4 Récursivité en python
Mariem ZAOUALI
 
Chap3 programmation modulaire en python
Chap3 programmation modulaire en pythonChap3 programmation modulaire en python
Chap3 programmation modulaire en python
Mariem ZAOUALI
 
Chap2 Les conteneurs en python
Chap2 Les conteneurs en pythonChap2 Les conteneurs en python
Chap2 Les conteneurs en python
Mariem ZAOUALI
 
Chap1 Introduction à python
Chap1 Introduction à pythonChap1 Introduction à python
Chap1 Introduction à python
Mariem ZAOUALI
 
Tp1 design patternappliques
Tp1 design patternappliquesTp1 design patternappliques
Tp1 design patternappliques
Mariem ZAOUALI
 
TP2 RMI
TP2 RMITP2 RMI
Cours 4 intergiciels orientes messages jms
Cours 4 intergiciels orientes messages  jmsCours 4 intergiciels orientes messages  jms
Cours 4 intergiciels orientes messages jms
Mariem ZAOUALI
 
Cours 2 les architectures reparties
Cours 2 les architectures repartiesCours 2 les architectures reparties
Cours 2 les architectures reparties
Mariem ZAOUALI
 
Cours 3 les objets distants rmi corba
Cours 3 les objets distants rmi corbaCours 3 les objets distants rmi corba
Cours 3 les objets distants rmi corba
Mariem ZAOUALI
 
Cours 1 les principes de base
Cours 1 les principes de baseCours 1 les principes de base
Cours 1 les principes de base
Mariem ZAOUALI
 
TP1 Traitement d'images Génie Logiciel avec Matlab
TP1 Traitement d'images Génie Logiciel avec MatlabTP1 Traitement d'images Génie Logiciel avec Matlab
TP1 Traitement d'images Génie Logiciel avec Matlab
Mariem ZAOUALI
 
Comment retrouver la forme récursive
Comment retrouver la forme récursiveComment retrouver la forme récursive
Comment retrouver la forme récursive
Mariem ZAOUALI
 
Correction TP4 Atelier C++ /GL2 INSAT / Tunisie
Correction TP4 Atelier C++ /GL2 INSAT / TunisieCorrection TP4 Atelier C++ /GL2 INSAT / Tunisie
Correction TP4 Atelier C++ /GL2 INSAT / Tunisie
Mariem ZAOUALI
 
TP4 Atelier C++ /GL2 INSAT / Tunisie
TP4 Atelier C++ /GL2 INSAT / TunisieTP4 Atelier C++ /GL2 INSAT / Tunisie
TP4 Atelier C++ /GL2 INSAT / Tunisie
Mariem ZAOUALI
 
TP3 Atelier C++/ GL2 INSAT / Tunisie
TP3 Atelier C++/ GL2 INSAT / TunisieTP3 Atelier C++/ GL2 INSAT / Tunisie
TP3 Atelier C++/ GL2 INSAT / Tunisie
Mariem ZAOUALI
 
TP2 Atelier C++/ GL2 INSAT / Tunisie
TP2 Atelier C++/ GL2 INSAT / TunisieTP2 Atelier C++/ GL2 INSAT / Tunisie
TP2 Atelier C++/ GL2 INSAT / Tunisie
Mariem ZAOUALI
 
TP1 Atelier C++/ GL2 INSAT / Tunisie
TP1 Atelier C++/ GL2 INSAT / TunisieTP1 Atelier C++/ GL2 INSAT / Tunisie
TP1 Atelier C++/ GL2 INSAT / Tunisie
Mariem ZAOUALI
 
Graduation Project Presentation _ INSAT Tunisia
Graduation Project Presentation _ INSAT Tunisia Graduation Project Presentation _ INSAT Tunisia
Graduation Project Presentation _ INSAT Tunisia
Mariem ZAOUALI
 

Plus de Mariem ZAOUALI (20)

Chap5 La manipulation des iterables en python
Chap5 La manipulation des iterables en pythonChap5 La manipulation des iterables en python
Chap5 La manipulation des iterables en python
 
Chap7 simulation numérique
Chap7 simulation numériqueChap7 simulation numérique
Chap7 simulation numérique
 
Chap4 Récursivité en python
Chap4 Récursivité en pythonChap4 Récursivité en python
Chap4 Récursivité en python
 
Chap3 programmation modulaire en python
Chap3 programmation modulaire en pythonChap3 programmation modulaire en python
Chap3 programmation modulaire en python
 
Chap2 Les conteneurs en python
Chap2 Les conteneurs en pythonChap2 Les conteneurs en python
Chap2 Les conteneurs en python
 
Chap1 Introduction à python
Chap1 Introduction à pythonChap1 Introduction à python
Chap1 Introduction à python
 
Tp1 design patternappliques
Tp1 design patternappliquesTp1 design patternappliques
Tp1 design patternappliques
 
TP2 RMI
TP2 RMITP2 RMI
TP2 RMI
 
Cours 4 intergiciels orientes messages jms
Cours 4 intergiciels orientes messages  jmsCours 4 intergiciels orientes messages  jms
Cours 4 intergiciels orientes messages jms
 
Cours 2 les architectures reparties
Cours 2 les architectures repartiesCours 2 les architectures reparties
Cours 2 les architectures reparties
 
Cours 3 les objets distants rmi corba
Cours 3 les objets distants rmi corbaCours 3 les objets distants rmi corba
Cours 3 les objets distants rmi corba
 
Cours 1 les principes de base
Cours 1 les principes de baseCours 1 les principes de base
Cours 1 les principes de base
 
TP1 Traitement d'images Génie Logiciel avec Matlab
TP1 Traitement d'images Génie Logiciel avec MatlabTP1 Traitement d'images Génie Logiciel avec Matlab
TP1 Traitement d'images Génie Logiciel avec Matlab
 
Comment retrouver la forme récursive
Comment retrouver la forme récursiveComment retrouver la forme récursive
Comment retrouver la forme récursive
 
Correction TP4 Atelier C++ /GL2 INSAT / Tunisie
Correction TP4 Atelier C++ /GL2 INSAT / TunisieCorrection TP4 Atelier C++ /GL2 INSAT / Tunisie
Correction TP4 Atelier C++ /GL2 INSAT / Tunisie
 
TP4 Atelier C++ /GL2 INSAT / Tunisie
TP4 Atelier C++ /GL2 INSAT / TunisieTP4 Atelier C++ /GL2 INSAT / Tunisie
TP4 Atelier C++ /GL2 INSAT / Tunisie
 
TP3 Atelier C++/ GL2 INSAT / Tunisie
TP3 Atelier C++/ GL2 INSAT / TunisieTP3 Atelier C++/ GL2 INSAT / Tunisie
TP3 Atelier C++/ GL2 INSAT / Tunisie
 
TP2 Atelier C++/ GL2 INSAT / Tunisie
TP2 Atelier C++/ GL2 INSAT / TunisieTP2 Atelier C++/ GL2 INSAT / Tunisie
TP2 Atelier C++/ GL2 INSAT / Tunisie
 
TP1 Atelier C++/ GL2 INSAT / Tunisie
TP1 Atelier C++/ GL2 INSAT / TunisieTP1 Atelier C++/ GL2 INSAT / Tunisie
TP1 Atelier C++/ GL2 INSAT / Tunisie
 
Graduation Project Presentation _ INSAT Tunisia
Graduation Project Presentation _ INSAT Tunisia Graduation Project Presentation _ INSAT Tunisia
Graduation Project Presentation _ INSAT Tunisia
 

Chap6 Manipulation des fichiers

  • 1. [LES FICHIERS EN PYTHON] ESPRIMS’ Mariem ZAOUALI | Chapitre 6 : Les fichiers en Python 1 Chapitre 6 : Les fichiers en Python  Manipulation des fichiers textes et binaires : Ouverture, lecture, écriture et fermeture Manipulation des fichiers On appellera fichier toute collection de données (textuelles ou binaires) enregistrée sur un support physique (un disque dur, une clé usb, etc). Un fichier peut être accessible en lecture seule, ou en lecture/écriture. Pour pouvoir être consulté et/ou modifié, il doit être ouvert d’abord, puis fermé ensuite (mais Python se charge souvent de fermer le fichier lui-même quand tout est terminé). Dans la suite, on suppose qu’on se place uniquement dans le dossier courant. Les fichiers seront donc désignés par leur nom, simplement, sans indication d’un chemin d’accès. Mais si on veut un contrôle précis sur les dossiers, on importera le module os (operating system) qui fournit quelques fonctions utiles :  os.getcwd() : renvoie le dossier actuel  os.chdir(‘chemin’) : désigne un nouveau dossier de travail a. Manipulation des fichiers textes Ouverture : varFichier=open(NomFichier,ModeTypAccess) La commande nécessite deux paramètres pour créer une variable en mémoire qui représente le fichier physique nommé NomFichier :  Le nom physique du fichier sur le support qui est généralement stocké dans le répertoire courant de Python  Le mode d’accès : Trois modes sont possibles o w: ‘writing’ : si le fichier existe déjà son contenu sera remplacé par un nouveau contenu, dans le cas contraire, on crée un fichier en mode écriture pour y enregistrer du texte. o r: ‘reading’ : Le mode lecture : le fichier est ouvert pour qu’il soit consulté o a :’append’ : C’est un mode semblable au mode ‘w’ sauf qu’on n’écrase pas l’ancien contenu du fichier, mais on ajoute à la fin du fichier de chaînes de caractères nouvelles  Le type d’accès o ‘t’ : le fichier est considéré comme une suite de caractères ascii : c’est le mode texte o ‘b’ : le fichier est considéré comme une suite d’octets : c’est le mode binaire Exemple :
  • 2. [LES FICHIERS EN PYTHON] ESPRIMS’ Mariem ZAOUALI | Chapitre 6 : Les fichiers en Python 2 Ecriture : varFichier.write(chaine_de_caracteres) La commande write enregistre la chaine dans le fichier et retourne la longueur de cette dernière. Il faut toujours penser à fermer le fichier à la fin de son utilisation surtout qu’il est ouvert en mode ‘w’ ou ‘a’ pour que les modifications soient enregistrées. La commande closed permet de tester si le fichier est fermé avec succès, son résultat est booléen. Consultant le fichier créé ! Les chaines sont écrites sur une même ligne ! Pour écrire sur plusieurs lignes, il faut ajouter le caractère ‘n’ à la fin de chaque chaîne au niveau de la commande write : On peut utiliser un conteneur pour stocker des chaînes dans un fichier :
  • 3. [LES FICHIERS EN PYTHON] ESPRIMS’ Mariem ZAOUALI | Chapitre 6 : Les fichiers en Python 3 Ecriture en fin de fichier : Lecture : Avant de pouvoir lire le contenu d’un fichier, on doit l’ouvrir en mode lecture texte avec la commande open(nomFichier,’rt’). La consultation du contenu peut s’effectuer de trois manières :  varFichier.read() : Affiche le contenu intégral du fichier :  varFichier.readline : lit le fichier ligne par ligne, à chaque fois qu’on rencontre le caractère ‘n’, on s’arrête : Autrement :  varFichier.readlines() : retourne une liste constituée des lignes du fichier :
  • 4. [LES FICHIERS EN PYTHON] ESPRIMS’ Mariem ZAOUALI | Chapitre 6 : Les fichiers en Python 4 b. Manipulation des fichiers binaires La sérialisation (l’enregistrement) des variables de tout type en Python est possible. Ainsi, aucune variable ne sera effacée dès qu’on quitte le prompt et ce grâce au module pickle. On ne parle plus de fichiers texte, mais de fichiers de flux binaires.  Ouverture : o varFichier=open(nomFichier,’wb’) : ouvre un fichier binaire en mode écriture o varFichier=open(nomFichier,’rb’) : ouvre un fichier binaire en mode lecture  Ecriture : o On utilise la commande dump du module pickle : pickle.dump(objet,varFichier) à condition que le module pickle est déjà chargé, l’objet python est déjà créé et le fichier est déjà ouvert en mode écriture binaire :  Lecture : o On utilise toujours le module pickle, spécifiquement la méthode load. On peut utiliser cette méthode autant que l’on veut à condition de ne pas dépasser la taille du fichier, sinon une exception EOFError sera levée : o Pour éviter cette exception, on emploie les clauses try..except
  • 5. [LES FICHIERS EN PYTHON] ESPRIMS’ Mariem ZAOUALI | Chapitre 6 : Les fichiers en Python 5