Maison > développement back-end > Tutoriel Python > Comment lire et écrire des fichiers dans Python?

Comment lire et écrire des fichiers dans Python?

Robert Michael Kim
Libérer: 2025-03-10 18:46:49
original
322 Les gens l'ont consulté

Comment lire et écrire des fichiers dans Python?

Python offre un moyen simple d'interagir avec les fichiers à l'aide de ses fonctions intégrées. La fonctionnalité principale tourne autour de la fonction open () , qui prend le chemin du fichier et un mode comme arguments. Explorons la lecture et l'écriture:

Fichiers de lecture:

Pour lire un fichier, vous utilisez généralement la fonction open () avec le mode 'R' (mode de lecture) et utilisez ensuite des méthodes comme readLines () pour accéder au fichier () , ou ReadLines () pour accéder au fichier dans le fichier dans le fichier Contenu.

 <code class="python"> # Ouvrez un fichier pour la lecture essayez: avec open (& quot; my_file.txt & quot;, & quot; r & quot;) en tant que fichier: # lisez l'intégralité du fichier contenu à une fois contente = file.read () print (contente) # Lisez le fichier ligne par ligne. end = & quot; & quot;) # end = & quot; & quot; Empêche Extra Newline # Lisez toutes les lignes dans une liste File.seek (0) lignes = file.readlines () Print (lignes) sauf FileNotFoundError: Print (& quot; Fichier introuvable. & quot;) sauf exception comme e: imprimer (F & quot; iterating with <code> pour la ligne dans le fichier </code> lit la ligne par ligne, et <code> readlines () </code> lit toutes les lignes dans une liste. Le <code> avec Open (...) en tant que fichier: </code> La construction garantit que le fichier est automatiquement fermé même si des erreurs se produisent.  <p> <strong> Écriture de fichiers: </strong> </p> <p> L'écriture dans un fichier implique l'ouvrir en mode 'W' (écriture), le mode 'A' (append), ou 'x' (Création exclusive). La méthode <code> write () </code> ajoute du contenu au fichier. </p> <pre class="brush:php;toolbar:false"> <code class="python"> essayez: avec open (& quot; my_new_file.txt & quot;, & quot; w & quot;) comme fichier: file.write (& quot; c'est la première ligne. \ N & quot;) file.write (& quot; c'est la deuxième ligne. Ouvrir (& quot; my_new_file.txt & quot;, & quot; a & quot;) en tant que fichier: #APPEND MODE FILE.WRITE (& quot; Cette ligne est annexée. \ n & quot;) sauf exception comme e: imprimer (f & quot; Une erreur s'est produite: {e} & quot;) </code>  Pre> <p> 'w' se contenter de contenu existant » échoue si l'on existe déjà. N'oubliez pas d'inclure les caractères de Newline (<code> \ n </code>) pour les ruptures de ligne appropriées. </p> <h2> Quels sont les différents modes de fichier disponibles dans Python pour la fonction des fichiers? fichier pour la lecture. C'est le mode par défaut. Une erreur se produit si le fichier n'existe pas.  </h2>
Copier après la connexion
  • 'w' (écriture): ouvre le fichier pour l'écriture. Crée un nouveau fichier s'il n'existe pas et écrase le contenu si c'est le cas.
  • 'x' (Création exclusive): ouvre le fichier pour l'écriture uniquement s'il n'existe pas déjà. Si le fichier existe, une erreur est augmentée.
  • 'A' (APPEND): ouvre le fichier pour l'écriture. Si le fichier existe, de nouvelles données sont annexées jusqu'à la fin; Sinon, un nouveau fichier est créé.
  • 'b' (binaire): utilisé en conjonction avec d'autres modes ('rb', 'wb', 'ab', 'xb'). Ouvre le fichier en mode binaire, adapté aux fichiers non texte (images, exécutables, etc.).
  • 't' (texte): utilisé en conjonction avec d'autres modes ('rt', 'wt', 'at', 'xt'). Il s'agit du mode par défaut et est utilisé pour les fichiers texte. Il gère les caractères de Newline en fonction des conventions du système.
  • '' (mise à jour): utilisé avec d'autres modes ('r', 'w', 'a', 'x'). Permet à la fois la lecture et l'écriture dans le fichier. «R» permet la lecture et l'écriture dès le début, «W» écrase, et «A».
  • Ces modes peuvent être combinés. Par exemple, & quot; r b & quot; ouvre un fichier à la fois pour la lecture et l'écriture en mode binaire.

    Comment puis-je gérer les erreurs potentielles lors de la lecture ou de l'écriture de fichiers en python?

    Les opérations d'E / S de fichiers peuvent rencontrer diverses erreurs, telles que le fichier non existant, insuffisant des permissions ou des problèmes d'espace de disk. Le code robuste devrait les gérer gracieusement. L'approche la plus courante consiste à utiliser Try-Except Blocks:

     <code class="python"> Try: with Open (& quot; my_file.txt & quot;, & quot; r & quot;) en tant que fichier: # ... opérations de fichiers ... sauf filenotfounderror: print (& quot; file introuv. & quot; w & quot;) en tant que fichier: file.write (& quot; fichier créé. & quot;) sauf la permissionror: print (& quot; autorisation refusée. Vérifiez les autorisations de fichier. & quot;) sauf Oserror comme e: print (f & quot; Une erreur du système d'exploitation s'est produite: {e} & quot;) Saufr {e} & quot;) </code> 
    Copier après la connexion

    Cet exemple capture des exceptions spécifiques ( filenotfounderror , permissionerror , oSerror ) pour une gestion des erreurs plus informative et une générique <code> exception pour assister à tout autre problème potentiel. Soyez toujours spécifique lorsque cela est possible pour gérer efficacement les erreurs.

    Quelles sont les meilleures pratiques pour lire et écrire efficacement les fichiers importants dans Python?

    La lecture et l'écriture de fichiers importants nécessitent une optimisation pour éviter les problèmes de mémoire et améliorer les performances. Voici quelques meilleures pratiques:

    • itérer la ligne par ligne: Évitez de charger le fichier entier en mémoire à la fois. Itérater via le fichier ligne par ligne à l'aide d'une boucle pour comme indiqué dans le premier exemple. Ceci est beaucoup plus économe en mémoire pour les fichiers volumineux.
    • Utiliser des E / S tamponnées: le io.bufferedader et io.bufferedwriter Les classes ont fourni des E / S tamponnées, ce qui améliore considérablement les performances en réduisant le nombre de produits de disk. peut encore améliorer l'efficacité de la mémoire. Les générateurs produisent des valeurs à la demande, en évitant de charger le fichier entier en mémoire.
    • Chunking: Lisez et écrivez le fichier en morceaux d'une taille spécifique au lieu de tout traiter en même temps. Cela minimise l'utilisation de la mémoire et permet les mises à jour de progression.
    • Mappage de mémoire: Pour un accès aléatoire aux fichiers volumineux, envisagez d'utiliser mmap (mappage de mémoire). Cela mappe une partie du fichier en mémoire, permettant un accès efficace à des pièces spécifiques sans charger le fichier entier.
     <code class="python"> Importer io import mmap #Chunking Example Chunk_Size = 1024 avec Open (& quot; Large_file.txt & quot; & quot; r & quot;) Chunk: Break #Process the Chunk # ... #Memory Mapping Exemple avec Open (& quot; Large_file.txt & quot;, & quot; r b & quot;) As f: mm = mmap.mmap (f.fileno (), 0) # 0 signifie cartographier l'intégralité du fichier # access des parties spécifiques du fichier en utilisant mm [start: fin] mm.close ()  code> sur l'application spécifique et comment le fichier est accessible. Pour le traitement séquentiel, itérer la ligne par ligne ou utiliser des E / S tamponnées est généralement suffisante. Pour un accès aléatoire, la cartographie de la mémoire peut être plus appropriée. Pour les fichiers extrêmement volumineux qui dépassent la RAM disponible, envisagez d'utiliser des bibliothèques spécialisées comme <code> dask </code> ou <code> VAEX </code> qui gèrent le calcul hors core. </code>
    Copier après la connexion

    Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

    Déclaration de ce site Web
    Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
    Derniers articles par auteur
    Tutoriels populaires
    Plus>
    Derniers téléchargements
    Plus>
    effets Web
    Code source du site Web
    Matériel du site Web
    Modèle frontal