Vous êtes sur la page 1sur 16

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
 Writelines(): permet d’ écrire directement le
FICHIER TEXTE

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") f=open(‘test.txt’,’r’)
ch=f.read() Ligne=f.readline()
print(ch) print(Ligne )
f.close() f.close()

 La méthode read lit le  readline ():lecture de la


contenu de tout le fichier ligne courante
dans une chaine formatée  readlines ():retournant
 Nous pouvons lire un nombre une liste contenant toutes
précis de caractères : les lignes du fichier texte.
ch=f.read(5) lit les 5  La lecture dans un fichier
premiers caractères! est une lecture
 Un fichier fermé ne peut séquentielle !
pas être lu
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)  >>> #trace
print(a1, type(a1)) d’écution
a2=pickle.load(f)  2.34 <class 'float'>
print(a2, type(a2))  bonjour <class
a3=pickle.load(f) 'str'>
print(a3, type(a3))  100 <class'int'>
Print(pickle.load(f))  [21,5,15]
f.close()
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