CodeGym /Cours /Python SELF FR /Travailler avec des fichiers

Travailler avec des fichiers

Python SELF FR
Niveau 21 , Leçon 0
Disponible

1.1 Ouverture d'un fichier

Travailler avec des fichiers en Python, c'est un vrai plaisir, car c'est fait de manière assez simple et intuitive. On ne parle pas ici de créer ou déplacer des fichiers sur le disque, mais de lire et écrire le contenu des fichiers.

Généralement, le travail avec le contenu d'un fichier suit ce schéma :


Ouverture du fichier 
Travail avec les données du fichier
Fermeture du fichier

Exemple de lecture de tout le contenu d'un fichier :


file = open('example.txt', 'r')
content = file.read()
print(content)
file.close()

La fonction open est utilisée pour ouvrir un fichier. Elle prend deux arguments principaux : le nom du fichier et le mode d'accès. La fonction retourne un objet fichier qui peut ensuite être utilisé pour effectuer des opérations de lecture et d'écriture.

Exemple :


file = open('example.txt', 'r')

Si seul le nom du fichier est indiqué, il sera recherché dans le répertoire de travail actuel du programme. Si le nom complet du fichier est indiqué, alors l'accès se fera par le chemin spécifié.

1.2 Modes d'accès

Le deuxième paramètre dans la fonction open() désigne le mode de travail avec le fichier. Les modes d'accès définissent les opérations qui peuvent être effectuées avec le fichier (lecture, écriture, etc.).

Voici les principaux modes d'accès :

  • Read — lecture.
  • Write — écriture.
  • Append — ajout.

Il existe plusieurs variations de ces modes :

  • 'r': Ouverture du fichier pour lecture (mode par défaut). Le fichier doit exister.
  • 'w': Ouverture du fichier pour écriture. Le contenu du fichier sera effacé. Si le fichier n'existe pas, il sera créé.
  • 'a': Ouverture du fichier pour ajout. Les données seront ajoutées à la fin du fichier. Si le fichier n'existe pas, il sera créé.
  • 'r+': Ouverture du fichier pour lecture et écriture. Le fichier doit exister.
  • 'w+': Ouverture du fichier pour lecture et écriture. Le contenu du fichier sera effacé. Si le fichier n'existe pas, il sera créé.
  • 'a+': Ouverture du fichier pour lecture et ajout. Les données seront ajoutées à la fin du fichier. Si le fichier n'existe pas, il sera créé.

Exemple d'écriture dans un fichier :

Si tu veux écrire des données dans un fichier, il suffit d'indiquer w comme mode d'accès en ouvrant le fichier. Attention, tout le contenu existant du fichier sera effacé !


file = open('example.txt', 'w')
file.write("Hello, World!")
file.close()

Exemple d'ajout dans un fichier :

Si tu ne veux pas effacer le contenu du fichier, mais simplement ajouter quelque chose à la fin, tu dois indiquer a comme mode d'accès au fichier.


file = open('example.txt', 'a')
file.write("\nAppended text.")
file.close()

Important ! Si tu écris dans un fichier et qu'il n'existe pas encore, il sera créé automatiquement. Mais si tu essaies de lire des données à partir d'un fichier inexistant, une exception sera levée.

1.3 Fermeture d'un fichier

Chaque fois que tu ouvres un fichier, le système d'exploitation vérifie tes droits d'accès au fichier et le marque comme utilisé par ton programme. Pour travailler avec un fichier, une ressource spéciale est allouée — un handler.

Le nombre de handlers que ton programme peut obtenir est limité. Cela signifie que tu peux garder ouverts seulement quelques centaines de fichiers simultanément. Ça peut paraître beaucoup, mais si ton programme fonctionne sur un serveur pendant des mois et lit ou écrit dans des fichiers quotidiennement, cette limite peut être atteinte rapidement.

Par conséquent, après avoir terminé de travailler avec un fichier, tu dois le fermer — appeler la méthode close(). Ainsi, tu informes le système d'exploitation que tu n'as plus besoin de ce fichier et son handler ne t'est plus nécessaire.

Fermeture du fichier

Après avoir terminé le travail avec un fichier, il est nécessaire de le fermer pour libérer les ressources système. Pour cela, on utilise la méthode close().


file = open('example.txt', 'r')
# Exécution des opérations avec le fichier
file.close()

Chaque fichier que tu as ouvert pour lecture ou écriture doit être fermé. N'oublie pas d'appeler la méthode close().

Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION