6.
Les Fichiers
6.1 Généralité
Créer, écrire et les lire les fichiers est une capacité importante dans l’apprentissage d’un
langage de programmation, car sans cette capacité l’on ne saurait sauvegarder les données pour une
utilisation ulterieure étant donnée que les variables ne sont stockées que dans la mémoire volatile.
Fondamentalement, en python on peut manipuler deux grands types de fichiers : les fichiers textes
(t) et les fichiers binaires (b).
Cependant, grâce aux bibliothèques, on peut d’autant manipuler tout type de fichier.
6.2 Les Fichiers Textes
Définition 6.1 — Fichier Text. Dans notre contexte, un fichier texte est un fichier ne necessitant
aucune mainipulation particulière et qui peut être lu avec un simple éditeur de text. ces fichiers
sont lisibles tels quel et sont organisés par ligne.
Exemple 6.1
C’est le cas des fichiers .txt, .csv, .html, .json, · · ·
Syntaxe 17 — Manipulation d’un fichier texte.
¶ Pour manipuler un fichier texte :
>>> variable=open(nom, mode) ou encore
>>> with open(nom, mode) as variable:
...instructions
Règles :
+ Le nom du fichier est une chaine de caractère contenant l’extention du fichier.
Exemple 6.2
"mon_fichier.txt"
"[Link]"
+ Les modes d’ouvertures sont les suivants :
60 Chapitre 6. Les Fichiers
"x" pour le mode création uniquement, si le fichier existe déjà, une erreur survient.
"w" pour le mode écriture avec écrasement, c-à-d que si le fichier n’existe pas, il est créé,
et s’il existe son contenu est remplacé par le nouveau contenu.
"a" pour le mode ajout ou écriture sans écrasement
"r" pour le mode lecture seule, c’est le mode par défaut
"w+" pour le mode lecture et écriture avec écrasement
"a+" pour le mode lecture et ajout
"r+" pour le mode lecture et écriture
R
¶ Le mode texteb("t") étant le mode par défaut de manipulation des fichiers, il n’est
pas necessaire de le spécifier. Anisi le mode "r" est équivalent à "rt", et ainsi de
suite.
· lorsque un fichier est ouvert sans précision de mode, (par exemple
fichier1=open("[Link]"), alors il s’agit du mode de lecture seule, c-à-
d le mode "r".
En d’autres termes fichier1=open("[Link]", "r") équivaut à
fichier1=open("[Link]")
Exemple 6.3
>>> fichier1=open("[Link]", "w")
>>> fichier2=open("[Link]", "r")
R A chaque mode correspond un certain nombre de méthodes ou fonctions applicables.
p Pour la lecture :
• .read() : permet de lire le contenu du fichier en entier lorsque aucun argument
n’est precisé. Sinon fait la lecture des n premiers caractères precisés en argument.
• .readline() : permet de lire une ligne du fichier
• .readlines() : permet de lire les lignes du fichier entier et les renvoie en forme
de liste
p Pour l’écriture :
• .write() : permet d’écrire le contenu dans le fichier
• .writelines() : permet d’écrire une liste de lignes dans le fichier
R Lors de la manipulaiton d’un fichier, il est important de fermer à la fin l’object de type fichier
manipulé.
La fermeture se fait avec la méthode ou fonction close()
Exemple 6.4 — avec le mode ajout ou écriture sans écrasement.
>>> f=open("[Link]", "a")
>>> [Link]("J’ai ouvert ce fichier en mode ajout...")
>>> [Link]()
Ou encore la même chose avec une autre syntaxe
>>> with open ("[Link]", "a") as f:
[Link]("J’ai ouvert ce fichier en mode ajout...")
[Link]()
Exemple 6.5 — avec le mode lecture seule.
>>> f=open("[Link]", "r")
>>> [Link]()
>>> [Link]()
6.3 Les Fichiers Binaires 61
Ou encore la même chose avec une autre syntaxe
>>> with open ("[Link]", "r") as f:
[Link]()
[Link]()
6.3 Les Fichiers Binaires
Définition 6.2 — Fichier Binaire. Dans notre contexte, un fichier binaire est un fichier ayant des
exigences de traitements spécifiques et nécessite un type de logiciel dédié pour l’ouvrir. C’est le
cas :
4 des documents : .doc, .pdf, .xls
4 des images : .png, gif, .jpg, .bmp, · · ·
4 des videos : .mp4, .avi, .mov, .flv
4 du son : .mp3, .wma, .amr, ...
4 des fichiers de bases de données : .db, .sqlite, .mdb, ...
Syntaxe 18 — Manipulation d’un fichier binaire.
¶ Pour manipuler un fichier binaire :
>>> variable=open(nom, mode) ou encore
>>> with open(nom, mode) as variable:
>>> ...instructions
Règles :
+ Le nom du fichier est une chaine de caractère contenant l’extention du fichier.
Exemple 6.6
"mon_fichier.bin"
"video.mp4"
+ Les modes d’ouvertures sont les suivants :
Il sont les mêmes que pour les fichiers texte à la difference d’ajouter b. D’où :
"wb" pour le mode écriture avec écrasement en binaire,
"ab" pour le mode ajout ou écriture sans écrasement en binaire
"rb" pour le mode lecture seule en binaire, c’est le mode par défaut
"wb+" pour le mode lecture et écriture avec écrasement en binaire
"ab+" pour le mode lecture et ajout en binaire
"rb+" pour le mode lecture et écriture binaire
Exemple 6.7
>>> fichier1=open("son.mp3", "rb")
>>> fichier2=open("[Link]", "wb")
R A chaque mode correspond un certain nombre de méthodes ou fonctions applicables qui sont
les mêmes que pour les fichiers texte.
p Pour la lecture :
• .read() : permet de lire le contenu du fichier en entier lorsque aucun argument
n’est precisé. Sinon fait la lecture des n premiers caractères precisés en argument.
• .readline() : permet de lire une ligne du fichier
• .readlines() : permet de lire les lignes du fichier
p Pour l’écriture :
• .write() : permet d’écrire le contenu dans le fichier
62 Chapitre 6. Les Fichiers
Exemple 6.8
>>> f=open("[Link]", "wb")
>>> liste=["bonjour", "bon après-midi", "bonsoir"]
>>> [Link](bytearray(liste))
>>> [Link]()