Bienvenue dans notre cours ‘Programmation orientée objet en Python’. Alors, dans cette partie de cours, on va découvrir l’Utilisation des fichiers ( avec la POO)

Accès aux fichiers en Python

  1. En général, pour utiliser un fichier, on a trois étapes fondamentales : 
  2. L’ouverture du fichier
  3. l’opération voulue (lecture / ecriture/ ajout)
  4. La fermeture du fichier

Ouverture du fichier :

L’ouverture du fichier doit être la toute première opération effectuée sur le flux.

Syntaxe : f = open(file, mode = ‘r’, encoding = None)

avec :

  •  file : spécifie le nom du fichier à associer au flux;

  • mode (facultatif): spécifie le mode ouvert utilisé pour le flux. Le mode d’ouverture par défaut est la lecture en mode texte

  • encoding (facultatif) : spécifie le type de codage (par exemple, UTF-8 lors de l’utilisation de fichiers texte). l’encodage par défaut dépend de la plateforme utilisée

  • si l’ouverture réussit, la fonction open() renvoie un objet f; sinon, une exception est déclenchée 

Les modes d’ouverture les plus importants : lecture (r) , Ecriture (w) et ajout ( a)

Rappel : Pour ouvrir le flux en :

mode binaire, on ajoute la lettre b à la fin de la chaîne ,

mode texte, on ajoute la lettre t à la fin de la chaîne

Remarque 1 : Le mode texte est le comportement par défaut supposé quand aucun spécificateur de mode binaire / texte n’est utilisé.

Remarque 2 : on peut également ouvrir un fichier pour sa création exclusive. on peut le faire en utilisant le mode d’ouverture x. Si le fichier existe déjà, la fonction open() lèvera une exception.

Fermeture du fichier :

La dernière opération effectuée devrait être la fermeture : f.close(). la fonction ne renvoie rien mais lève l’exception IOError en cas d’erreur;

Remarque : La fonction strerror() permet de simplifier le code de gestion des erreurs. elle provient du module os et attend un seul argument (un numéro d’erreur) .

Exemple :

from os import strerror
try:
s = open("c:/users/user/Desktop/file.txt", "rt")
…..
s.close()
except Exception as exc:
print("On n’arrive pas à ouvrir le fichier :", strerror(exc.errno));

Traitement des fichiers texte

  • Lecture

Pour lire le contenu du fichier afin de les traiter.

f = open("a.txt", "rt", encoding = "utf-8")
print(f.read())

La lecture du contenu d’un fichier texte peut être effectuée en utilisant plusieurs méthodes différentes :  read() ,  readline () et  readlines ()

  • Ecriture :  write ()

La méthode write() n’attend qu’un seul argument – une chaîne qui sera transférée dans un fichier ouvert. Exemple : crée un fichier nommé a.txt, puis y met dix lignes.

    f = open(a.txt''wt')
   for i in range(10):
     f.write( "ligne " + str(i+1) + "\n")
   f.close()

TP

Soit la classe Stagiaire. Chaque stagiaire a un code, un nom , un prénom et unemoyenne.

  1. créer la classe Stagiaire avec les accesseurs et les modifieurs. Ajouter la méthode __str__
  2.  Ajouter à la classe une méthode SaveToFile qui permet d’enregistrer la description d’un stagiaire dans un fichier (son nom est donné comme paramètre de la méthode)
  3. Créer un objet s1 de la classe stagiaire, puis enregistrer le dans un fichier ‘stagiaires.txt’.
  4. Créer une fonction qui permet d’afficher le contenu d’un fichier (le nom du fichier est passé comme paramètre de la fonction) .
  5. Afficher le contenu du fichier ‘stagiaires.txt’
  6. supposons qu’un fichier ‘DD103.txt’ est rempli comme suit :
code :h15230,nom:alaoui,prenom:aya,Moyenne :15.7
code :h14563,nom:benbrahim,prenom:karim,Moyenne :10.17
code :h85230,nom:idali,prenom:khalid,Moyenne :17.02
code :h86070,nom:alami,prenom:hiba,Moyenne :11.45
  • On veut lire les informations du fichier et créer une liste des stagiaires à partir des informations obtenues.
  • Puis, on enregistre tous les stagiaires ayant une moyenne < 10 dans un fichier ‘redoublant.txt’ et ceux ayant une moyenne >10 dans un fichier ‘Admis.txt’.
  • Afficher le contenu des deux fichiers pour s’assurer de la validité des données.

Vous pouvez suivre notre liste des vidéos sur la programmation orientée objet  sur notre chaine youtube 9raytifclick (Darija: arabe marocaine) : POO en Python

Aussi, si vous voulez commencer l’apprentissage d’un langage de programmation, voilà notre cours : Langage Python Niveau 1 qui sera très utile pour vous (il vous aide à pratiquer tous les éléments de base de la programmation ; vus dans notre cours d’algorithmique).

Un Commentaire

  1. mm la corection dyalhad tp dyal les fichiers

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *