« Programmation Python/Fichiers » : différence entre les versions

Contenu supprimé Contenu ajouté
Aucun résumé des modifications
Ligne 157 :
;Notes
 
* La première ligne crée l'objet-fichier « obFichier », lequel fait référence à un fichier véritable (sur disque ou disquette) dont le nom sera <code>Monfichier</code>. ''Ne confondez pas le nom de fichier avec le nom de l'objet-fichier qui y donne accès''. AÀ la suite de cet exercice, vous pouvez vérifier qu'il s'est bien créé sur votre système (dans le répertoire courant) un fichier dont le nom est <code>Monfichier</code> (et vous pouvez en visualiser le contenu à l'aide d'un éditeur quelconque).
 
* La fonction <code>open()</code> attend deux arguments, qui doivent être des chaînes de caractères. Le premier argument est le nom du fichier à ouvrir, et le second est le mode d'ouverture. <code>a</code> indique qu'il faut ouvrir ce fichier en mode « ajout » (''append''), ce qui signifie que les données à enregistrer doivent être ajoutées à la fin du fichier, à la suite de celles qui s'y trouvent éventuellement déjà. Nous aurions pu utiliser aussi le mode <code>w</code> (pour ''write''), mais lorsqu'on utilise ce mode, Python crée toujours un nouveau fichier (vide), et l'écriture des données commence à partir du début de ce nouveau fichier. S'il existe déjà un fichier de même nom, celui-ci est effacé au préalable.
Ligne 295 :
* La méthode <code>readlines()</code> permet donc de lire l'intégralité d'un fichier en une instruction seulement. Cela n'est possible toutefois que si le fichier à lire n'est pas trop gros (Puisqu'il est copié intégralement dans une variable, c'est-à-dire dans la mémoire vive de l'ordinateur, il faut que la taille de celle-ci soit suffisante). Si vous devez traiter de gros fichiers, utilisez plutôt la méthode <code>readline()</code> dans une boucle, comme le montrera l'exemple de la page suivante.
 
* Notez bien que <code>readline()</code> est une méthode qui renvoie une chaîne de caractères, alors que la méthode <code>readlines()</code> renvoie une liste. AÀ la fin du fichier, <code>readline()</code> renvoie une chaîne vide, tandis que <code>readlines()</code> renvoie une liste vide.
 
Le script qui suit vous montre comment créer une fonction destinée à effectuer un certain traitement sur un fichier texte. En l'occurrence, il s'agit ici de recopier un fichier texte en omettant toutes les lignes qui commencent par un caractère <code>#</code> :