Comment lire et écrire des fichiers texte dans Python

Comment lire et écrire des fichiers texte dans Python
Cet article couvrira un guide expliquant la gestion des fichiers externes à Python. L'objectif principal sera de l'ouverture et de la fermeture du texte et d'autres fichiers de données non binaires stockés sur un support de stockage, vous permettant d'exécuter diverses opérations sur le contenu des fichiers ouverts.

Ouverture et clôture d'un fichier

Pour lire les données d'un fichier texte nommé «Données.txt », vous devez utiliser la méthode« ouverte »fournie avec des versions de python officielles. Vérifiez l'exemple de code ci-dessous:

F = Open ('Données.txt ',' r ')
F.fermer()

La première déclaration ouvre les «données.Fichier txt "en mode" r "(en lecture seule). La méthode «ouverte» accepte un nom de fichier et le mode de gestion du fichier comme arguments. Outre le mode «R», il existe également d'autres modes qui seront expliqués plus tard. L'extrait de code ci-dessus n'exécute aucune opération sur le fichier ouvert. La méthode «Fermer» est utilisée pour fermer proprement le fichier ouvert afin que la mémoire puisse être libérée et pour éviter la corruption des données dans le fichier ouvert qui peut se produire parfois si le fichier n'est pas correctement fermé.

Au lieu d'utiliser la méthode «ouverte» pour gérer l'ouverture et la fermeture des fichiers, vous pouvez le combiner avec un mot-clé «avec» et utiliser la déclaration «avec ouverte».

avec Open ('Données.txt ',' r ') comme f:
passer

Le principal avantage de l'utilisation d'une instruction «avec ouverte» est que l'interprète ferme automatiquement le fichier ouvert en toute sécurité lorsque le bloc de code «avec ouvert» est complètement analysé. Bien que Garbage Collector in Python ferme automatiquement les fichiers ouverts après un certain temps selon les règles prédéfinies, les instructions «avec ouverte», assurez-vous que le fichier est classée proprement dès que le bloc de code est terminé pour libérer des ressources.

Lire les lignes d'un fichier texte

Pour lire le contenu d'un fichier, utilisez l'exemple de code ci-dessous:

avec Open ('Données.txt ',' r ') comme f:
données = f.lire()
Imprimer (données)

Par exemple, si «Données.Le fichier txt ”a 1 à 10 numéros, chacun sur une nouvelle ligne, vous obtiendrez une sortie suivante après avoir exécuté le code ci-dessus:

L'ensemble du vidage de données des «données.Le fichier txt "est stocké dans la variable" data ". Si vous souhaitez lire les lignes sur une liste, vous pouvez utiliser des échantillons de code suivants:

avec Open ('Données.txt ',' r ') comme f:
données = f.LEADLINES ()
Imprimer (données) avec Open ('Données.txt ',' r ') comme f:
data = liste (f)
Imprimer (données)

Notez que l'utilisation des extraits ci-dessus peut vous offrir le caractère «\ n» (newline) à la fin de chaque élément de la liste. Pour supprimer ces caractères Newline, vous devrez peut-être parcourir la liste. Vous pouvez à la fois créer une nouvelle liste et éliminer les caractères Newline en utilisant le code suivant à la place:

data_list = []
avec Open ('Données.txt ',' r ') comme f:
pour la ligne en f:
data_list.ajouter (ligne.bande())
imprimer (data_list)

L'exécution du code ci-dessus vous permettra de suivre la sortie:

Écrire des données dans un fichier ouvert

Pour écrire des données dans un fichier ouvert à l'aide de l'instruction «avec ouverte», vous devrez fournir un mode d'ouverture différent en tant qu'argument. Voici quelques-uns des modes:

  • 'a' - utilisé pour ajouter des données à la fin d'un fichier ouvert, crée un nouveau fichier s'il n'existe pas
  • 'w' - efface le contenu du fichier ouvert et écrit de nouvelles données, crée un nouveau fichier s'il n'existe pas
  • 'r' - mode en lecture seule (mode par défaut si aucun argument n'est fourni)
  • 'R +' - Utilisé à la fois pour la lecture et l'écriture (la position initiale est au début du fichier)
  • «B» - Le fichier est ouvert en mode binaire (utile pour les fichiers binaires non textres), peut être combiné avec d'autres modes
  • 'A +' - Utilisé pour la lecture et l'appel
  • 'W +' - Utilisé pour la lecture et l'écriture, crée un nouveau fichier s'il n'existe pas

Certains extraits de code utilisant différents modes pour écrire des données sont répertoriés ci-dessous.

Pour écrire un nouveau contenu dans un fichier texte lors de l'effacement des données existantes, utilisez l'échantillon suivant:

avec Open ('Données.txt ',' w ') comme f:
F.écrire ("1 \ n2")

Après avoir exécuté l'extrait ci-dessus, 1 à 10 numéros dans les «données.Le fichier txt »doit être remplacé par deux nouvelles lignes.

Pour ajouter des lignes au début d'un fichier texte, vous devez utiliser la méthode «chercher» pour revenir à la position de départ du tampon de fichier:

avec Open ('Données.txt ',' r + ') comme f:
données = f.lire()
F.chercher (0)
F.écrire ("- 1 \ n0 \ n")
F.écrire (données)

Après avoir exécuté l'extrait ci-dessus, des numéros de -1 et 0 seront ajoutés aux deux principales lignes dans «Données.Fichiers txt ».

Pour ajouter les données à la fin du fichier, utilisez l'échantillon suivant:

avec Open ('Données.txt ',' a ') comme f:
F.écrire ("11 \ n12")

Après avoir exécuté l'extrait ci-dessus, 11 et 12 numéros seront ajoutés à la fin du fichier.

Conclusion

Les classes et méthodes intégrées de Python fournissent un moyen robuste de gérer les fichiers texte. Avec seulement quelques lignes de code, vous pouvez manipuler les données existantes dans un fichier et insérer de nouvelles lignes.