Les fichiers en Python

Télécharger le fichier Chaine des Puys.txt dans le dossier de votre choix (par exemple 'Mes Documents') pour pouvoir répondre aux questions qui vont suivre.

Le système de fichiers

Sur un ordinateur, une tablette, un smartphone, une console, les fichiers sont organisés par un système de fichiers. Les principales fonctions Python relatives à la manipulation de fichiers se trouvent dans la bibliothèque os . Pour accéder à un fichier, il faut connaitre son chemin (voir Gestion des fichiers en Python).
Par exemple le chemin du fichier Chaine des Puys.txt (téléchargé plus tôt) est peut-être :
  A l'instar d'une fenêtre de commande Windows ( cmd.exe ) ou d'un Terminal Linux, la console Python possède un "répertoire courant". Pour le modifier, on utilise la fonction chdir()  de la bibliothèque os .
Attention ! il faut  remplacer les \  (propres à Windows) par des / .
Si tout va bien,  Chaine des Puys.txt  devrait apparaitre dans la liste.

Ouverture d'un fichier

Pour ouvrir un fichier, on peut utiliser la fonction open(), qui renvoie un objet de type objet-fichier.
Attention ! sous Linux, les noms de fichier doivent respecter la casse !

Lecture d'un fichier texte

Pour lire le contenu entier d'un fichier, on peut utiliser la fonction read()  : Un fichier ouvert doit être refermé après utilisation (sous peine de ne pouvoir être rouvert !) :
Activité :
  • Écrire une fonction dicoPuy()  qui renvoie un dictionnaire {nom : altitude}  à partir du fichier Chaine des Puys.txt.
Lorsqu'un fichier est très volumineux, il n'est pas forcément souhaitable d'en stocker tout le contenu en mémoire. Il est à cet effet possible de le parcourir ligne après ligne, car le type objet-fichier est un itérateur :
Activité :
  • Écrire une fonction leJustePuy(altitude)  permettant de donner le nom du puy le plus proche de l'altitude passée en argument, sans la dépasser.

Écrire dans un fichier texte.

Par défaut, un fichier est ouvert en mode 'lecture seule'. Pour pouvoir écrire des données dedans, il faut l'ouvrir en mode écriture (write en anglais) et utiliser la méthode write()  :    

Widget not in any sidebars
 

Vous aimerez aussi...

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*

code