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>
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.
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>
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.
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:
pour
comme indiqué dans le premier exemple. Ceci est beaucoup plus économe en mémoire pour les fichiers volumineux. 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. 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>
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!