0% ont trouvé ce document utile (0 vote)
33 vues29 pages

Cours Fichiers

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1/ 29

PROGRAMMATION EN PYTHON

DUT IDSD 1
2021/2022

5. LES FICHIERS SOUS PYTHON


PR. MUSTAPHA JOHRI
FICHIER SOUS PYTHON
 Introduction :
Dans tous les langages de programmation, on utilise la
notion de fichier. Qui désigne un ensemble d'informations
enregistrées sur un support (clé usb, disque dur, etc.).
Dans la majorité des langages de programmation, on
distingue deux types de fichiers :

 Les fichiers textes : les informations sont sous un


format texte (.txt, .docs, …) qui est lisible par
n’importe quel éditeur de texte.

 Les fichiers binaires: les informations ne sont


lisibles que par le programme qui les a conçus
(.pdf, .jpg, …).
MODULE OS
 Le module OS en python fournit des fonctions
d’interaction avec le système d’exploitation. Il permet
d’effectuer des opérations courantes liées au système
d’exploitation. Il est indépendant par rapport au système
d’exploitation de la machine. Ce qui signifie que ce
module peut fonctionner sur n’importe quelle système
d’exploitation.
 Opérations sur les fichiers et dossiers

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


MODULE OS
 Changer le répertoire de travail

 NB : le dossier de destination doit exister sinon une


exception de type FileNotFoundError sera levée??
GESTION DES EXCEPTION
Comme d'autres langages, Python fournit également la gestion
d'exceptions à l'aide de try/except.
Syntaxe :

Exemple :
MODULE OS
Opérations sur les fichiers et dossiers
 Lister le contenu d'un dossier

 Renommer un fichier ou un dossier


os.rename(old,new)

 Créer un dossier
MODULE OS
Opérations sur les fichiers et dossiers
 Création des dossier imbriqués
La méthode makedirs() créé plusieurs dossiers
intermédiaires dans un chemin. Fondamentalement, cela
signifie que vous pouvez créer un chemin contenant des
dossiers imbriqués.

 Supprimer un fichier ou un dossier


Les fonctions os.remove() et os.rmdir() sont utilisées
pour supprimer des fichiers et des répertoires vides.
Mais sortant d’abord du répertoire à supprimer.
MODULE OS

 Autres fonctions du module os

Commande Description
os.path.exists(chemin) Renvoie True si le chemin existe et False
sinon.

os.path.isfile(chemin) Renvoie True si le chemin est un fichier


et False sinon.

os.path.isdir(chemin) Renvoie True si le chemin est un dossier


et False sinon.
Exercice :
Ecrire une fonction search_file(chemin,extension)
qui permet de lister tous les fichiers ayant cette
extension. La recherche doit aussi portée sur les
sous dossiers du chemin d’une manière récursive.

Résultat :
C:/Users/Admin/Desktop/abc/ abc.txt
C:/Users/Admin/Desktop/abc/ test.txt
C:/Users/Admin/Desktop/abc/1111/ffff.txt
C:/Users/Admin/Desktop/abc/2222/ffff.txt
C:/Users/Admin/Desktop/abc/ffff.txt
Exercice :

C:/Users/Admin/Desktop/abc/ abc.txt
C:/Users/Admin/Desktop/abc/ test.txt
C:/Users/Admin/Desktop/abc/1111/ffff.txt
C:/Users/Admin/Desktop/abc/2222/ffff.txt
C:/Users/Admin/Desktop/abc/ffff.txt
FICHIER SOUS PYTHON
 Introduction :
Les principales manipulations sur un fichier sont :
 L'ouverture du fichier
 La lecture ou l’écriture d'un élément dans un fichier
 La fermeture du fichier

 Ouverture d’un fichier :


Tout fichier doit être ouvert avant de pouvoir accéder à son contenu en
lecture et écriture. L’ouverture d’un fichier est réalisée par la
fonction open selon la syntaxe suivante :
Variable = open(chemin du fichier, mode)
mode :
‘r’ : mode lecture seule
‘w’: mode écriture seule
‘a’ : mode ajout
on ajoute ‘b’ si le fichier est binaire
FICHIER SOUS PYTHON
Exemples :
>>> f1 = open (‘test1.txt’, "r")
#ouvrir le fichier test1 qui se trouve en même dossier que le
fichier du code source.

>>> f2 = open ("c:/test2.txt" , ‘w’)


#ouvrir le fichier test1 qui se trouve dans le répertoire C.

>>> f3 = open (" c:\\python\\test3.txt" , ‘a’)


#ouvrir le fichier test1 qui se trouve dans le dossier python
du répertoire C.

Syntaxe général:
f=open(chemin du fichier, mode)
# blocs d’instructions
f.close()
FICHIER SOUS PYTHON
Remarques :
 En mode lecture, le fichier doit exister sinon une
exception de type FileNotFoundError sera levée.

 En mode écriture, Si le fichier n’existe pas, il est créé


sinon, son contenu est perdu.

 En mode ajout, si le fichier existe déjà, il sera étendu.


sinon, il sera créé.

 N’oublie pas à la fin de fermer le fichier afin que


d’autres programmes puissent le lire via la commande :
f1.close() # fermeture du fichier f1
FICHIER SOUS PYTHON
Ecriture dans un fichier
La méthode write( message ) permet d’écrire la chaîne
de caractère message dans un fichier. elle retourne le
nombre de caractères écrits dans le fichier
FICHIER SOUS PYTHON
Ecriture dans un fichier
o Quelle est le contenu du fichier ‘essai.txt’ après
l’exécution du programme suivant ?

Et si on change le deuxième mode en ‘a’


FICHIER SOUS PYTHON
Lecture d’un fichier
 méthode read( t ) : Pour lire la quantité t en octets à
partir de la position déjà atteinte dans le fichier et les
retourne en tant que chaîne de caractères. Quand t est
omise ou négative, le contenu tout entier du fichier est
lu et retourné.

Bo IDr
FICHIER SOUS PYTHON
Exercice :
 Quel est le résultat de l’exécution du programme ci-dessus ?

Bon#
FICHIER SOUS PYTHON
Lecture d’un fichier
 méthode readline( ) : lit une seule ligne à partir du
fichier.

Bonjour IDSD1,
 méthode readlines( ) : retourne une liste contenant
toutes les lignes du fichier

['Bonjour IDSD1,\n', 'ceci n’est pas\n', 'facile !!!']


FICHIER SOUS PYTHON
Exercice :
1. Ecrire un programme qui permet de stocker dans un fichier
nommé "diviseurs.txt" les diviseurs séparés par ‘#’ d’un
nombre N lu au clavier.

2. Ecrire un programme qui permet de lire ces nombres à partir


du fichier et afficher leurs somme.
FICHIER SOUS PYTHON
Boucle sur un fichier
Remarque : Un fichier texte ouvert en lecture possède
également les propriétés d’un itérateur : on pourra alors
parcourir les lignes du fichier par une boucle :

ESTE 2020
DUT IDSD 1
Python
FICHIER SOUS PYTHON
Ouverture du fichier avec with
De façon pragmatique, l’instruction with permet d’écrire
un code sans utiliser l’instruction close. Les deux bouts
de code suivant sont équivalents :
FICHIER SOUS PYTHON
Exercice : On désire stocker les notes des étudiant d’une
classe dans un fichier.
1. Ecrire un programme dans lequel l'utilisateur rentre :
• Le nom du fichier (on exige l’extension ‘.txt’)
• Le nombre des étudiants
• La saisie des noms et notes ( 0<= note <= 20)
• Stockage sous la forme : nom \t note \n
FICHIER SOUS PYTHON
2. On désire maintenant calculer le moyen de la classe des note
contenu dans le fichier précédent.
FICHIER SOUS PYTHON
Enregistrer des objets dans des fichiers
Module pickle

Grâce au module pickle, on peut enregistrer n'importe


quel objet et le récupérer par la suite, au prochain
lancement du programme.

Tout d'abord, il faut importer le module pickle.

import pickle
Ou bien
from pickle import*
FICHIER SOUS PYTHON
Enregistrer un objet dans un fichier
Grace à la méthode dump du pickle on peut enregistrer à
chaque fois un objet dans le fichier de destination.

Syntaxe :
pickle.dump(objet , fichier)
FICHIER SOUS PYTHON
Récupérer nos objets enregistrés

 Pour lire les objets contenues dans notre fichier, nous


utilisons la méthode load de notre module pickle.
 Elle renvoie le premier objet (s'il y en a plusieurs, il faut
l'appeler plusieurs fois).

Syntaxe :
Variable = pickle.load(fichier)
FICHIER SOUS PYTHON
Récupérer nos objets enregistrés

Resultat

Python pour IDSD


{'cahiers': 134, 'stylos': {'rouge': 41, 'bleu': 74}, 'gommes': 85}
['cahier', 'crayon', 'stylo', 'trousse', 'gomme']
FICHIER SOUS PYTHON
Exercice :
On cherche a stocker dans un fichier une liste L des nombres
aléatoires et une fonction f.

Exemple : L=[50,34,120,89,97] et f(x)=1,2*x


1. Ecrire un programme qui permet de générer L et stocker les
données dans un fichier nommé ‘numbers.bin’.
FICHIER SOUS PYTHON
Exercice :
2. Ecrire un programme qui permet de lire les données du
fichiers ‘numbers.bin’ et appliquer la formule aux éléments
de la liste.

Vous aimerez peut-être aussi