Ouverture et lecture des fichiers en langage Python

1. Les fichiers en Python: mode d'ouverture

En Python, un fichier est un objet qui peut être utilisé pour stocker des données de manière persistante. Les fichiers sont souvent utilisés pour enregistrer des données générées par des programmes, pour lire des données à partir d'un fichier ou pour stocker des configurations de programme.
Un fichier peut être ouvert en Python à l'aide de la fonction open(). Les objets file object, contiennent des méthodes et des attributs pouvant être utilisés pour collecter des informations sur le fichier que vous avez ouvert. Ils peuvent également être utilisés pour manipuler le dit fichier.

Syntaxe de la méthode open()

Cette fonction prend deux arguments :

  1. le nom du fichier: que vous voulez ouvrir
  2. le mode d'ouverture: ouverture en mode lecture, écriture, ajout de contenu à la fin...

Les modes d'ouverture les plus courants sont:

  1. Le mode 'r': ouverture en mode lecture (read mode),
  2. Le mode 'w': ouverture en mode écriture avec écrasement de contenu existant (write mode)
  3. Le mode 'a': ouverture en mode ajout de contenu à la fin (append mode).
  4. Le mode '+' : ouverure en lecture et écriture
  5. Le mode 'b' : ouverture en mode binaire

2. Ouverture et lecture d'un fichier

Pour lire un fichier existant, plusieurs méthode sont disponible :

2.1 Lecture totale avec la méthode read()

La méthode read() permet de lire le contenu total ou partiel d'un fichier, après être ouvert avec la méthode open().
La syntaxe est :

Exemple: ouverture et lecture d'un fichier existant avec la méthode open()

Exemple avec la méthode with open()

2.2 Lecture partielle avec la méthode read()

La méthode read() peut être également utilisée pour lire une partie du fichier seulement en indiquant le nombre de caractère à lire entre parenthèses :

Exemple. lecture des 20 premiers caractères

Remarque

Après exécution de la fonction read(n) ( n = nombre de caractères à lire), le curseur se trouve à la position n+1, et donc si on exécute la fonction une 2ème fois, la lecture débutera depuis le (n+1)ème caractère.

2.3 Lecture séquentielle caractère par caractère

La méthode read() pourra être utilisé aussi pour effectuer une lecture séquentielle caractère par caractère en utilisant la boucle for:

La même opération peut être réalisée en utilisant la boucle while :

Exemple. lecture d'un fichier avec la boucle while




2.4 Lecture ligne par ligne avec les méthodes readline() et readlines()

2.4.1 La méthode readline()

La méthode readline() permet de lire un fichier ligne par ligne. Cette méthode pointe sur la première ligne lors de sa première exécution, ensuite sur la deuxième ligne lors de sa seconde exécution et ainsi à la n-ième exécution, elle pointe vers la n-ième ligne.

Exemple. lecture du fichier ligne par ligne

En combinant la méthode readline() avec la méthode while(), on peut lire la totalité des ligne d'un fichier :

Exemple. lecture de toutes les lignes avec readline()

2.4.2 La méthode readlines()

La méthode readlines(), renvoie une liste dont les éléments sont les lignes du fichier

Exemple. lecture des lignes du fichier avec readlines()

Remarque

On peut aussi lire la totalité des lignes du fichier en appliquant la boucle for:

Exemple. lecture des lignes à l'aide de la boucle for

On peut donc via readlines(), récupérer le nombre de lignes d'un fichier en appliquant la méthode len():

Exemple. nombre de lignes d'un fichier

En récupérant le nombre de lignes d'un fichier, on peut donc lire la totalité de ses lignes en utilisant la boucle for:

Exemple. lecture de la totalité des lignes avec la boucle for

2.4.3 Lecture d'un fichier à une position précise avec la méthode readlines()

La méthode readlines() nous permet aussi de lire un fichier à une position bien précise :

Exemple. lecture d'un fichier depuis le caractère 10 jusqu'au caractère 20 de la troisième ligne

3. Lecture depuis une position donnée à l'aide de la méthode seek()

La méthode seek() permet de sélectionner une position précise pour lecture ou écriture

Exemple. lire le fichier à partir de la 6 ème position




4. Récapitulatif des méthodes destinées aux lecture d'un fichier en Python

Voici une liste des méthodes de lecture d'un fichier en Python avec une brève description :

  1. open() : La fonction open() permet d'ouvrir un fichier en mode lecture, écriture ou ajout.
  2. read() : La méthode read() permet de lire tout le contenu du fichier.
  3. readline() : La méthode readline() permet de lire une ligne du fichier à la fois.
  4. readlines() : La méthode readlines() permet de lire toutes les lignes du fichier et de les stocker dans une liste.
  5. seek() : La méthode seek() permet de déplacer le curseur de lecture à une position spécifique dans le fichier.
  6. tell() : La méthode tell() permet de connaître la position du curseur de lecture dans le fichier.

 

Younes Derfoufi
CRMEF OUJDA

Leave a Reply