Recherche de site Web

Lire et écrire des fichiers avec Python


Introduction

Comme tout programme d’une taille décente doit être capable de lire et d’écrire à partir de fichiers. À tout le moins, il doit être capable de générer des journaux.

Python est également étroitement intégré à l’administration système et aux scripts Linux. Encore une fois, la lecture et l’écriture sont importantes pour la gestion d’un système.

Ouverture d’un fichier

Python crée un objet à partir du fichier qu’il ouvre. Il peut ensuite manipuler cet objet. Une fois terminé, il utilise l’objet pour enregistrer toutes les modifications apportées au fichier.

Créez un nouveau fichier texte et remplissez-le avec des absurdités à partir de votre éditeur de texte. Assurez-vous d’inclure plusieurs lignes de texte.

Maintenant, créez un fichier Python dans lequel travailler.

Dans ce fichier, vous pouvez utiliser la fonction open de Python pour ouvrir le fichier et créer un objet avec celui-ci.


file = open('test.txt', 'r+')

file est maintenant un objet qui contient les informations sur le fichier. Il peut être lu ou écrit.

Comme vous pouvez le voir, la fonction open() prend deux arguments. Le premier est le chemin d’accès au fichier qui doit être ouvert, et le second est le mode dans lequel il sera ouvert. Il existe un certain nombre de modes, mais il n’y en a que quelques-uns que vous utiliserez fréquemment.

Modes
LirerLecture uniquement à partir du fichier
Écriture > wEffacer et écrire dans un fichier
AjouteruneAjouter de nouvelles lignes à la fin d’un fichier
Lire et écrirer+Lire et écrire dans un fichier sans l’écraser
Write & Read(Écrasement)w+Écrire et lire un fichier, en écrasant son contenu

Lecture d’un fichier

Faites tester votre objet fichier. Ajoutez une ligne qui appelle la méthode read().

file.read()

La méthode read affiche l’intégralité du contenu du fichier dans la ligne de commande. C’est similaire à l’utilisation de cat. La lecture du fichier montre chaque ligne sous la forme d’une chaîne avec un caractère de saut de ligne à la fin. La dernière ligne apparaît sous la forme d'une chaîne vide, ''.

Il existe une autre méthode que vous pouvez utiliser pour saisir des lignes individuelles, la méthode readline(). readline() commence au début d’un fichier et lit chaque ligne individuellement à chaque fois qu’elle est appelée.

Essayez de supprimer la ligne read() de votre fichier et d’appeler readline() plusieurs fois à la place.


for x in range(1, 11):
	file.readline()

Si vous aviez moins de dix lignes, vous avez probablement remarqué un tas de cordes vides. C’est ce que readline() crache chaque fois qu’il dépasse le nombre de lignes dans un fichier.

Rédaction d’un fichier

L’écriture dans un fichier est encore plus facile. Tout ce que vous avez à faire pour écrire dans un fichier est d’appeler la méthode write() et de lui passer la chaîne que vous voulez écrire à la fin du fichier. write() écrira toujours de nouvelles lignes à la fin du fichier.

file.write("I'm a new line!")

Vous pouvez écrire dans un fichier autant de fois que nécessaire. Chaque fois que la méthode write() est appelée, elle crée une nouvelle ligne, ce qui la rend idéale pour la journalisation.

Chercher

Pour l’instant, vous n’avez pas de véritable contrôle sur le flux dans le fichier. La méthode seek() vous en redonne une partie.

Il prend deux chiffres comme arguments et vous permet de vous déplacer dans le fichier dans les deux sens. Le premier chiffre est la position à laquelle vous souhaitez que le pointeur invisible dans le fichier vénére. Si vous passez un trois, il sera situé après le troisième caractère. Le deuxième chiffre est l’endroit d’où vous voulez qu’il commence. Une valeur de 1 en deuxième position amènera la méthode à rechercher à partir de la position actuelle du pointeur. Un 2 serait alors la fin du fichier.

Essayez d’utiliser seek() et readline() ensemble.


file.seek(15, 0)
file.readline()

Python imprimera à partir de quinze caractères à la fin de la ligne où se trouve ce point.

Fermeture du fichier

Lorsque vous avez fini de travailler sur un fichier, vous devez le fermer pour que les modifications soient appliquées et que la mémoire soit libérée. Vous pouvez cloe un fichier en appelant la méthode close() sur l’objet.

file.close()

Réflexions finales

Vous pouvez maintenant utiliser Python pour collecter des informations à partir d’un fichier. Vous pouvez également écrire la sortie dans un fichier. Cela ouvre de nombreuses possibilités d’utiliser et de stocker des informations à partir de fichiers texte.

Exercices

  1. Créez un fichier texte d’au moins 10 lignes.
  2. En Python, ouvrez le fichier en lecture et en écriture sans l’écraser.
  3. Lire le fichier en Python.
  4. Réinitialisez le pointeur invisible du fichier au début.
  5. Ne lisez que les deux premières lignes du fichier.
  6. Revenez au début.
  7. Ne lisez que les septième et neuvième lignes.
  8. Écrivez deux nouvelles lignes dans le fichier.
  9. Fermez votre dossier.

Articles connexes: