Vous êtes sur la page 1sur 4

ISET-Sousse Préparation à la certification PYTHON 2

----------------------------------------------------------------------------------

CH3 : Les fichiers

I. Opérations sur les fichiers


Pour éditer un fichier en python on utilise la fonction open.
Cette fonction prend en premier paramètre le chemin du fichier (relatif ou absolu) et en
second paramètre le type d'ouverture

1. Chemin relatif / chemin absolu


Un chemin relatif en informatique est un chemin qui prend en compte l'emplacement de
lecture.
Un chemin absolu est un chemin complet qui peut être lu quelque soit l'emplacement de
lecture.

2. La fonction open
Voici la syntaxe pour lire un fichier

fichier = open("data.txt", "r")

<open file 'data.txt', mode 'r' at 0x7ff6cf3fe4b0>

On remarque que le deuxième paramètre est renseigné par un r , ce paramètre indique


une ouverture de fichier en lecture .

3. Les types d'ouverture


Il existe plusieurs modes d'ouverture:

r, pour une ouverture en lecture (READ).

w, pour une ouverture en écriture (WRITE), à chaque ouverture le contenu du fichier est
écrasé. Si le fichier n'existe pas python le crée.

a, pour une ouverture en mode ajout à la fin du fichier (APPEND). Si le fichier n'existe pas
python le crée.

b, pour une ouverture en mode binaire.

t, pour une ouverture en mode texte.

x, crée un nouveau fichier et l'ouvre pour écriture

4. Lire le contenu d'un fichier


Pour afficher tout le contenu d'un fichier, vous pouvez utiliser la méthode read sur l'objet-
fichier.

# coding: utf-8

fichier = open("data.txt", "r")

------------------------------------------------------------------------------------

Page 1 sur 4 Enseignante : Emna Bouzid – AU :2020/2021


ISET-Sousse Préparation à la certification PYTHON 2
----------------------------------------------------------------------------------
contenu=fichier.read()

print(contenu)

fichier.close()

5. Ecrire dans un fichier

Pour ouvrir en écriture, il faut utiliser le mode `w` (write) :


# ouverture
fichier = open(' data.txt, 'w')

# écrire
fichier.write('Informatique ' )

# fermeture
fichier.close()

Pour ouvrir en ajout, il faut utiliser le mode `a` (append):

fichier = open("data.txt", "a")

fichier.write("Bonjour Iset Sousse")

fichier.close()

A noter que pour le mode d'ouverture a , si on veut écrire à la ligne, vous peut utiliser le saut
de ligne \n :

fichier = open("data.txt", "a")

fichier.write("\nBonjour Iset Sousse")

fichier.close()

6. Fermeture d'un fichier


Comme tout élément ouvert, il faut le refermer une fois les instructions terminées. Pour cela
on utilise la méthode close() .

fichier.close()

7. Le mot clé with


Lors du parcours du fichier, si une erreur se produit et que le fichier n'est pas fermé, il devient
inutilisable dans la suite du programme. Dans certains cas, il est donc préférable d'utiliser la
fonction `open()` avec le mot clé `with` qui s'occupera de fermer le fichier en cas d'exception.
Dans ce cas il n'est plus nécessaire de fermer explicitement le fichier. Voici la syntaxe:

with open("data.txt", "r") as fichier:

contenu = fichier.read()

------------------------------------------------------------------------------------

Page 2 sur 4 Enseignante : Emna Bouzid – AU :2020/2021


ISET-Sousse Préparation à la certification PYTHON 2
----------------------------------------------------------------------------------
print(contenu)

8. Parcourir un fichier
Après avoir ouvert un fichier, il existe différentes méthodes pour le parcourir :

▪ la méthode `read()` retourne tout le contenu du fichier dans une variable de type `string`

contenu = fichier.read()

▪ la méthode `readline()` retourne la première ligne du fichier lors de son premier appel, la
seconde ligne à son second appel, la troisième, etc.

ligne1 = fichier.readline() # ligne 1


ligne2 = fichier.readline() # ligne 2

▪ la méthode `readlines()` retourne toutes les lignes du fichier dans une variable de type
`list`

liste_lignes = fichier.readlines()

▪ la boucle `for`, c'est la plus efficace pour parcourir de très gros fichiers, elle s'utilise
directement sur l'objet

for ligne in fichier:


[…]

II. Opérations sur les fichiers et dossiers

▪ Se placer dans un dossier

import os

os.chdir('/chemin/dossier/')

▪ Récupérer le répertoire de travail

import os

chemin = os.getcwd()

▪ Lister le contenu d'un dossier

import os

liste = os.listdir('/chemin/dossier/')

▪ Renommer un fichier ou un dossier

------------------------------------------------------------------------------------

Page 3 sur 4 Enseignante : Emna Bouzid – AU :2020/2021


ISET-Sousse Préparation à la certification PYTHON 2
----------------------------------------------------------------------------------
import os
os.rename('ancien_nom.txt', 'nouveau_nom.txt')

▪ Supprimer un fichier

import os
os.remove('fichier.txt')

▪ Créer un dossier

import os
os.mkdir('/chemin/dossier_vide/')

▪ Supprimer un dossier vide

import os
os.rmdir('/chemin/dossier_vide/')

▪ Supprimer un dossier et son contenu

import shutil
shutil.rmtree('/chemin/dossier/')

III. Tests sur les fichiers et dossiers

▪ Vérifier si le fichier ou dossier existe

import os

if os.path.exists('/chemin/fichier.txt'):
print('Le fichier existe.')

▪ Vérifier s'il s'agit d'un fichier

import os

if os.path.isfile('/chemin/fichier.txt'):
print("L'élément est un fichier.")

▪ Vérifier s'il s'agit d'un dossier

import os

if os.path.isdir('/chemin/dossier/'):
print("L'élément est un dossier.")

------------------------------------------------------------------------------------

Page 4 sur 4 Enseignante : Emna Bouzid – AU :2020/2021

Vous aimerez peut-être aussi