PYTHON: LES FICHIERS A.DALY IPEIN LES FICHIERS PYTHON Plan Introduction Opéra

PYTHON: LES FICHIERS A.DALY IPEIN LES FICHIERS PYTHON Plan Introduction Opérations élémentaires Création (ouverture/ fermeture) Accès (lecture / écriture) Application sur un fichier texte Module Pickle INTRODUCTION Le stockage des données dans des variables de type int,float,str.. Perte des données lors de la fermeture du programme Le stockage des données dans un fichier de type file Stockage des données permanente lors de la fermeture du programme OUVERTURE/FERMETURE On commence par ouvrir un fichier pour le lire open qui renvoie un objet de type file. Exemple: f = open("nom_fichier", ’’mode") L’objet f est maintenant une variable sur lequel on pourra appliquer des méthodes permettant de lire et/ou écrire dans ce fichier. Une fois utilisé, on doit ferme le fichier f.close() MODES D’OUVERTURE… Plusieurs modes d’ouvertures de fichiers existent : ‘r’ : ouverture en mode read, le fichier doit exister, s’il n’existe pas un erreur se produit ’rb’ : ouverture en mode read binary (utile combiné au module pickle ) ’w’: ouverture en mode write, si le fichier existe il l’ouvre écrase le contenu et positionne le curseur au début, sinon le fichier sera créé ‘wb’ : ouverture en mode write binary ’a’ : ouverture en mode ajout append, si le fichier n’existe pas il sera crée ‘’r+’’, ‘’w+’’, ‘’a+’’: CRÉATION/ ECRITURE FICHIER TEXTE Pour écrire dans un fichier, il faut l'ouvrir en mode écriture avec l'un de ces indicateurs : ‘w’ : pour (re)écrire un fichier en partant de zéro ‘a’ : pour écrire à la suite d'un fichier existant C’est la méthode write qui permet d‘écrire dans le fichier si le fichier n’existe pas elle le créera ! L'argument de la méthode write() doit être une chaîne de caractères. CRÉATION/ ÉCRITURE FICHIER TEXTE f=open(’test.txt’,’w’) f.write(‘Salut\n ceci est mon premier fichier texte’) f.close() •Le fichier est créé dans le répertoire courant ! Si vous voulez changer de répertoire il faut importer le module os et utiliser la commande chdir •Pour le retour à la ligne, on rajoute le caractère d’échappement ‘\n’ à la fin de chaque ligne au niveau de la commande write : CRÉATION/ ÉCRITURE FICHIER TEXTE Writelines(): permet d’ écrire directement le contenu d’une liste Exemple: L=[‘ Salut\n’,’ ceci est mon premier fichier texte’] f=open(‘test.txt’,’w’) f.writelines(L) f.close LECTURE FICHIER TEXTE f=open("test.txt","r") ch=f.read() print(ch) f.close() La méthode read lit le contenu de tout le fichier dans une chaine formatée Nous pouvons lire un nombre précis de caractères : ch=f.read(5) lit les 5 premiers caractères!  Un fichier fermé ne peut pas être lu f=open(‘test.txt’,’r’) Ligne=f.readline() print(Ligne ) f.close() readline ():lecture de la ligne courante  readlines ():retournant une liste contenant toutes les lignes du fichier texte. La lecture dans un fichier est une lecture séquentielle ! BOUCLES DE LECTURE Ou bien for lig in f : print(lig) MODULE PICKLE ECRITURE DANS UN FICHIER BINAIRE Soit: a=2.34 ; b=‘Bonjour’ ;c=100 Un problème lié à la lecture !!!! Comment distinguer les trois valeurs? Entier, réel chaîne de caractères C’est en utilisant le module pickle import pickle f=open("test2","wb") a=2.34;b=‘bonjour’ ;c=100 ;l=[21,5,15] pickle.dump(a,f) pickle.dump(b,f) pickle.dump(c,f) pickle.dump(l,f) f.close() LECTURE À PARTIR D’ UN FICHIER BINAIRE f=open("test2 ’’,"rb") a1=pickle.load(f) print(a1, type(a1)) a2=pickle.load(f) print(a2, type(a2)) a3=pickle.load(f) print(a3, type(a3)) Print(pickle.load(f)) f.close() >>> #trace d’écution 2.34 <class 'float'> bonjour <class 'str'> 100 <class'int'> [21,5,15] APPLICATION : FICHIER TEXTE Ecrire une fonction saisief qui saisit un fichier texte nommé nomf paramètre de la fonction Ecrire une fonction copie qui permet de copier le contenu du fichier nomfs dans le fichier nomfd CORRECTION : VOUS TROUVEZ PLUS DES EXEMPLES DANS VOTRE FASCICULE uploads/Litterature/ les-fichiers-python.pdf

  • 29
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager