Vous êtes sur la page 1sur 31

chaı̂ne de caractères

Les fichiers

Chapitre 4
Chaı̂nes de caractères (str)/ Fichiers (File)

2eme Année API


Texte
Texte
Texte
saadi mo@yahoo.fr

6 novembre 2022

ENSA-K, Khouribga 2023-2023 1/ 31


chaı̂ne de caractères
Les fichiers

Plan

1 chaı̂ne de caractères
Qu’est ce qu’une chaı̂ne de caractères
Traitement d’une chaı̂ne de caractères en Python
Accès aux composantes d’une chaı̂ne de caractères
Les fonctions prédéfinies sur les chaı̂nes

2 Les fichiers
Généralité sur les fichiers
Manipulation des fichiers
Les fonctions d’entrées-sorties sur les fichiers textes
Le module ≪ pickle ≫

ENSA-K, Khouribga 2023-2023 2/ 31


Qu’est ce qu’une chaı̂ne de caractères
chaı̂ne de caractères Traitement d’une chaı̂ne de caractères en Python
Les fichiers Accès aux composantes d’une chaı̂ne de caractères
Les fonctions prédéfinies sur les chaı̂nes

Plan

1 chaı̂ne de caractères
Qu’est ce qu’une chaı̂ne de caractères
Traitement d’une chaı̂ne de caractères en Python
Accès aux composantes d’une chaı̂ne de caractères
Les fonctions prédéfinies sur les chaı̂nes

2 Les fichiers
Généralité sur les fichiers
Manipulation des fichiers
Les fonctions d’entrées-sorties sur les fichiers textes
Le module ≪ pickle ≫

ENSA-K, Khouribga 2023-2023 3/ 31


Qu’est ce qu’une chaı̂ne de caractères
chaı̂ne de caractères Traitement d’une chaı̂ne de caractères en Python
Les fichiers Accès aux composantes d’une chaı̂ne de caractères
Les fonctions prédéfinies sur les chaı̂nes

Définition

Définition
Une chaı̂ne de caractères en python est une suite de
caractères.
On appelle caractère tout élément de l’ensemble :
• Alphabet : ’a’,’b’,’c’,..,’z’ et ’A’,’B’,...’Z’
• Signe de ponctuation : ’,’,’ ;’,’ ’,’ :’ ’ !’,’ ?’
• Caractère spécial : ’/’,’@’,’$’,...
• Chiffres : ’0’,’1’,..,’9’

Exemple
>>> nom = ”mohamed”
>>> type(nom)
< class ′ str ′ >

ENSA-K, Khouribga 2023-2023 4/ 31


Qu’est ce qu’une chaı̂ne de caractères
chaı̂ne de caractères Traitement d’une chaı̂ne de caractères en Python
Les fichiers Accès aux composantes d’une chaı̂ne de caractères
Les fonctions prédéfinies sur les chaı̂nes

Les caractéristiques d’une chaı̂ne de caractères en Python


Propriété 1
Une chaı̂ne de caractères est une séquence ordonnée et non modifiable, chaque
élément est classé selon un index numérique et ne peut pas être modifié.
>>>ch=”Il fait beau”
>>>ch[0]
’I’
>>>ch[0]=’m’
Traceback (most recent call last) :
File ” < stdin > ”, line 1, in< module >
TypeError : ’str’ object does not support item assignment

Propriété 2
Une chaı̂ne de caractères est dite vide, si elle ne contient aucun caractère, càd que sa
longeure est égale à 0
>>> ch = ”” ou ch=str()

Propriété 3
En, python, le type caractère n’existe pas, par conséquent tout caractère est traité
comme un type str (si ch=’C’alors type(ch) → str)

ENSA-K, Khouribga 2023-2023 5/ 31


Qu’est ce qu’une chaı̂ne de caractères
chaı̂ne de caractères Traitement d’une chaı̂ne de caractères en Python
Les fichiers Accès aux composantes d’une chaı̂ne de caractères
Les fonctions prédéfinies sur les chaı̂nes

Déclaration et initialisation d’une chaı̂ne

Syntaxe
identificateur=”valeur” ou identificateur=’valeur’

Exemples
>>>lettre=’A’
>>>centre=’CPGE Khourubga’
>>>Festival=”Moussem Moulay Abdellah 2022”
>>>nom=’Ali’

ENSA-K, Khouribga 2023-2023 6/ 31


Qu’est ce qu’une chaı̂ne de caractères
chaı̂ne de caractères Traitement d’une chaı̂ne de caractères en Python
Les fichiers Accès aux composantes d’une chaı̂ne de caractères
Les fonctions prédéfinies sur les chaı̂nes

Les opérations d’entrée/sortie

lire une chaı̂ne de caractères


La fonction input() permet de lire une chaı̂ne de caractères.
Exemple :
>>>nom=input(”donnez votre nom svp :”)

Afficher une chaı̂ne de caractères


La fonction print() permet d’afficher une chaı̂ne de caractères.
Exemple :
>>>nom=”Ali”
>>>print(nom)
’Ali’

ENSA-K, Khouribga 2023-2023 7/ 31


Qu’est ce qu’une chaı̂ne de caractères
chaı̂ne de caractères Traitement d’une chaı̂ne de caractères en Python
Les fichiers Accès aux composantes d’une chaı̂ne de caractères
Les fonctions prédéfinies sur les chaı̂nes

Les opérateurs : +, * et in
Soient ch1 et ch2 deux chaı̂nes de caractères, avec ch1=”salut” et ch2=”karim”
L’opérateur + permet de concaténer les deux chaı̂nes de caractères ch1 et ch2

>>>ch1+ch2
’salutkarim’

L’opérateur * permet de dupliquer une chaı̂ne de caractères plusieurs fois.

>>>3*ch1
’salutsalutsalut’

x in ch1 : retourne True si x est appartient à la chaı̂ne ch1 et False sinon.

>>> ’a’ in ch1


True
>>> ’A’ in ch1
False

Les deux opérateurs - et / n’existent pas.

ENSA-K, Khouribga 2023-2023 8/ 31


Qu’est ce qu’une chaı̂ne de caractères
chaı̂ne de caractères Traitement d’une chaı̂ne de caractères en Python
Les fichiers Accès aux composantes d’une chaı̂ne de caractères
Les fonctions prédéfinies sur les chaı̂nes

Les opérateurs de conversion


On distingue quatre types de conversion :
1 str − − > int
2 int − − > str
3 str − − > list
4 list − − > str

str − − > int et int − − > str str − − > list et list − − > str
str − − > int str − − > list
>>> S=”193” >>> S=”CPGE 2016”
>>> N=int(S) >>> L=list(S)
>>> N >>> L
193 [’C’,’P’,’G’,’E’,’ ’,’2’,’0’,’1’,’6’]
int − − > str tuple − − > str
>>> N=310 >>> ch=[’C’,’P’,’G’,’E’]
>>> ch=str(N) >>> S=””.join(ch)
>>> ch >>> print(S)
’310’ CPGE
Remarque : une chaı̂ne chiffre est une chaı̂ne contenant uniquement les caractètres
chiffres
ENSA-K, Khouribga 2023-2023 9/ 31
Qu’est ce qu’une chaı̂ne de caractères
chaı̂ne de caractères Traitement d’une chaı̂ne de caractères en Python
Les fichiers Accès aux composantes d’une chaı̂ne de caractères
Les fonctions prédéfinies sur les chaı̂nes

Les tranches (slicing)


Principe
Il arrive fréquemment, lorsque l’on travaille avec les chaı̂nes de caractères, que l’on
souhaite extraire une sous chaı̂ne de la chaı̂ne initiale. Python propose pour cela une
technique simple que l’on appelle slicing (≪ découpage en tranches ≫). Elle consiste à
indiquer entre crochets les indices correspondant au début et à la fin de la ≪ tranche
≫ que l’on souhaite extraire.

Exemple
>>> S=”CPGE 2016”
>>>S[0 :1]
’C’
>>>S[0 :4]
’CPGE’
>>>S[0 :-1]
’CPGE 201’
>>>S[2 :4]
’GE’

ENSA-K, Khouribga 2023-2023 10/ 31


Qu’est ce qu’une chaı̂ne de caractères
chaı̂ne de caractères Traitement d’une chaı̂ne de caractères en Python
Les fichiers Accès aux composantes d’une chaı̂ne de caractères
Les fonctions prédéfinies sur les chaı̂nes

Un accès partiel
Il existe deux types d’indices pour l’accès partiel à chaque élément d’une chaı̂ne :

Indiçage positif
Soit la liste suivante : S=”GSR Casa 2016” contenant n=13 caractères.
l’accès au premier élément de la chaı̂ne S se fait par S[0] (S[0]=’G’).
l’accès au dernier élément de la chaı̂ne se fait par S[n-1] (S[n-1]=’6’).
les chaı̂nes ne sont pas des séquences modifiables.
.

Indiçage négatif
Il existe un moyen de désigner les éléments d’une séquence en partant de la fin :
S[-1] est le dernier élément de la séquence
S[-2] est l’avant-dernier
Si k > 0, S[-k] vaut S[len(S)-k], avec len retourne le nombre des éléments de S.
.

ENSA-K, Khouribga 2023-2023 11/ 31


Qu’est ce qu’une chaı̂ne de caractères
chaı̂ne de caractères Traitement d’une chaı̂ne de caractères en Python
Les fichiers Accès aux composantes d’une chaı̂ne de caractères
Les fonctions prédéfinies sur les chaı̂nes

Parcours chaı̂ne de caractères


Parcours d’une chaı̂ne
L’instruction for est l’instruction idéale pour parcourir une chaı̂ne :
1 Exemple 1 :
>>> S=”GSR 2016”
>>> for i in range(len(S)) :
print(S[i],end=”)
GSR 2016
2 Exemple 2 :
>>> S=”GSR 2016”
>>> for i in S :
print(S[i])
G
S
R

2
0
1
6

ENSA-K, Khouribga 2023-2023 12/ 31


Qu’est ce qu’une chaı̂ne de caractères
chaı̂ne de caractères Traitement d’une chaı̂ne de caractères en Python
Les fichiers Accès aux composantes d’une chaı̂ne de caractères
Les fonctions prédéfinies sur les chaı̂nes

Les fonctions prédéfinies sur les chaı̂nes

Python intègre de nombreuses fonctions qui permettent d’effectuer


divers traitements sur les chaı̂nes de caractères. A titre d’exemple,
nous citons :
retourner la taille d’une chaı̂ne : len
comparer deux chaı̂nes de caractères : cmp
calculer le nombre d’occurence d’un caractère : count
conversion de majuscules vers minuscules (resp min vers maj)
upper et lower
découpage en chaı̂nes plus petites : split
recherche de mots, etc.).

ENSA-K, Khouribga 2023-2023 13/ 31


Qu’est ce qu’une chaı̂ne de caractères
chaı̂ne de caractères Traitement d’une chaı̂ne de caractères en Python
Les fichiers Accès aux composantes d’une chaı̂ne de caractères
Les fonctions prédéfinies sur les chaı̂nes

Les fonctions len, ord, chr et count


len(ch) : cette fonction retourne le nombre de caractères de la chaı̂ne ch

>>>ch=”maroc”
>>>len(ch)
5

chr(n) : affiche un caractère à partir de son code numérique (ASCII) n

>>>chr(65)
’A’

ord(”c”) : affiche le code numérique d’un caractère

>>>ord(’A’)
65

ch.count(”c”) : retourne le nombre d’occurence du caractère ”c” dans ch

>>>ch=”Morocco”
>>>ch.count(’o’)
3

ENSA-K, Khouribga 2023-2023 14/ 31


Qu’est ce qu’une chaı̂ne de caractères
chaı̂ne de caractères Traitement d’une chaı̂ne de caractères en Python
Les fichiers Accès aux composantes d’une chaı̂ne de caractères
Les fonctions prédéfinies sur les chaı̂nes

Les fonctions de comparaison de caractères et chaı̂nes


max(chaine) renvoie le caractère dont le code numérique est le plus élevé

>>> max(”maroc”)
>>>’r’

min(chaine) renvoie le caractère dont le code numérique est le moins élevé

>>>min(”maroc”)
’a’

max(ch1,ch2) renvoie la chaı̂ne qui se classe alphabétiquement après l’autre

>>> max(”Ali”,”Ahmed”)
’Ali’

min(ch1,ch2) renvoie la chaı̂ne qui se classe alphabétiquement avant l’autre

>>> min(”Ali”,”Ahmed”)
’Ahmed’

ENSA-K, Khouribga 2023-2023 15/ 31


Qu’est ce qu’une chaı̂ne de caractères
chaı̂ne de caractères Traitement d’une chaı̂ne de caractères en Python
Les fichiers Accès aux composantes d’une chaı̂ne de caractères
Les fonctions prédéfinies sur les chaı̂nes

Les fonctions de la mise en forme d’une chaı̂ne


ch.upper() : cette fonction permet de retourner une nouvelle chaı̂ne de
caractères contenant la conversion en majuscule de la chaı̂ne ch.

>>>ch=”Salut les amis” ;ch.upper()


’SALUT LES AMIS’

ch.lower() : cette fonction permet de retourner une nouvelle chaı̂ne de


caractères contenant la conversion en minuscule de la chaı̂ne ch.

>>>ch=”CASABLANCA” ;ch.lower()
’casablanca’

ch.capitalize() transforme la première lettre de la chaı̂ne ch en capitale

>>>ch=”maroc 2016” ;ch.capitalize()


’Maroc 2016’

ch.swapcase() transforme les minuscules en majuscules et inversement

>>>ch=”gSr CasA” ;ch.swapcase()()


’GsR cASa’

ENSA-K, Khouribga 2023-2023 16/ 31


Qu’est ce qu’une chaı̂ne de caractères
chaı̂ne de caractères Traitement d’une chaı̂ne de caractères en Python
Les fichiers Accès aux composantes d’une chaı̂ne de caractères
Les fonctions prédéfinies sur les chaı̂nes

Autres fonctions sur les chaı̂nes de caractères


chaine.split() renvoie une liste de tous les mots (séparation : l’espace) d’une
chaı̂ne de caractères.

>>>ch=”Salut les amis”


>>>ch.split()
[′ Salut ′ ,′ les ′ ,′ amis ′ ]

chaine.split(’*’) le séparateur ∗ peut être une chaı̂ne autre que l’espace

>>>ch=”CASABLANCA”
>>>ch.split(’A’)
[′ C ′ ,′ S ′ ,′ BL′ ,′ NC ′ ,′′ ]

chaine.find(ssch) renvoie la position d’une sous-chaı̂ne dans une chaı̂ne (0 pour


la première position, -1 si la sous-chaı̂ne ne s’y trouve pas

>>>”Salut les amis”.find(”les”)


6

chaine.replace(ssch1,ssch2,n) remplace une sous-chaı̂ne par une autre


(éventuellement en limitant à n occurrences)
ENSA-K, Khouribga 2023-2023 17/ 31
Généralité sur les fichiers
chaı̂ne de caractères Manipulation des fichiers
Les fichiers Les fonctions d’entrées-sorties sur les fichiers textes
Le module ≪ pickle ≫

Plan

1 chaı̂ne de caractères
Qu’est ce qu’une chaı̂ne de caractères
Traitement d’une chaı̂ne de caractères en Python
Accès aux composantes d’une chaı̂ne de caractères
Les fonctions prédéfinies sur les chaı̂nes

2 Les fichiers
Généralité sur les fichiers
Manipulation des fichiers
Les fonctions d’entrées-sorties sur les fichiers textes
Le module ≪ pickle ≫

ENSA-K, Khouribga 2023-2023 18/ 31


Généralité sur les fichiers
chaı̂ne de caractères Manipulation des fichiers
Les fichiers Les fonctions d’entrées-sorties sur les fichiers textes
Le module ≪ pickle ≫

Généralité sur les fichiers

Définition
Un fichier désigne un ensemble d’informations stocké sur un support physique :
disque dur, CD, DVD, clé USB.
Un fichier se caractérise par :
1 un nom qui permet de l’identifier de manière unique (unicité) ;
2 un chemin d’accès qui indique son emplacement dans le disque dur ;
3 la taille ;
4 le type.

Types de fichiers
Généralement, en programmation on distingue deux types de fichiers : :
1 Fichier texte : les informations sont représentées dans le disque dur selon
un code donné(UTF-8, ISO 8859, cp 1250, etc). Ces fichiers sont listables
(on peut lire le contenu).
2 Fichier binaire : les informations (n’importe quel type) sont codées telles
qu’elles sont dans la mémoire (brut). Ces fichiers ne sont pas listables.

ENSA-K, Khouribga 2023-2023 19/ 31


Généralité sur les fichiers
chaı̂ne de caractères Manipulation des fichiers
Les fichiers Les fonctions d’entrées-sorties sur les fichiers textes
Le module ≪ pickle ≫

Ouverture d’un fichier : open(nomFichier,mode,encodage)


Principe
La fonction open permet l’ouvreture d’un fichier.
L’action d’ouverture signifie deux choses, soit on crée le fichier s’il n’existe pas
ou soit on ouvre le fichier pour lire son contenu s’il existe déjà.

Syntaxe de la fonction
La fonction open(NomFichier,mode,encodage) possède trois arguments :
1 NomFichier : c’est la chaı̂ne de caractères qui indique le nom de fichier à
ouvrir. En général ce nom, pourra comporter une information (chemin,
répertoire...) permettant de préciser l’endroit où se trouve le fichier.
2 Le mode : c’est la chaı̂ne de caractères qui indique le mode d’ouverture du
fichier. Les différents modes les plus utilisés sont les suivants :
* ”r” : lecture seule ;
* ”w” : écriture seule (destruction de l’ancienne version si elle existe) ;
* ”a” : ouvrir le fichier en mode ajout ;
3 Encodage :cet argument peut être ajouté pour indiquer l’encodage utilisé
lors du transfert des données de la RAM vers le disque dur.

ENSA-K, Khouribga 2023-2023 20/ 31


Généralité sur les fichiers
chaı̂ne de caractères Manipulation des fichiers
Les fichiers Les fonctions d’entrées-sorties sur les fichiers textes
Le module ≪ pickle ≫

La fermeture d’un fichier : close


La fonction close() réalise ce que l’on nomme une fermeture de fichier.
Cette méthode force l’écriture sur disque dur du tampon associé au fichier

Création d’un fichier Ouvrir un fichier


Exemple1 Exemple3
>>> f1=open(”CPGE.txt”,”w”) >>> f1=open(”CPGE.txt”,”w”)
>>> f1.close() >>> f1.close()
Exemple2 Exemple4
>>> NomFich=input(”Donnez le >>> NomFich=input(”Donnez le
nom de fichier à creer :”) nom de fichier à ouvrir :”)
>>> f1=open(NomFich,“w”) >>> f1=open(NomFich,“r”)
>>> f1.close() >>> f1.close()

Remarques
1 L’utilisation du mode “r“ pour l’ouverture d’un fichier en lecture est optionnel ;
2 La précision de l’encodage lors de l’ouvreture est aussi optionnel ;

ENSA-K, Khouribga 2023-2023 21/ 31


Généralité sur les fichiers
chaı̂ne de caractères Manipulation des fichiers
Les fichiers Les fonctions d’entrées-sorties sur les fichiers textes
Le module ≪ pickle ≫

La fonction d’ecriture : write


Principe
Pour écrire dans un fichier texte, il faut tout d’abord ouvrir ce fichier en mode écriture
ou ajout (write ’w’ ou append ’a’). L’action de l’écriture consiste à transferer la valeur
d’une variable (dans la RAM) de type str vers un fichier existant dans le disque dur.

Syntaxe
La fonction write permet d’écrire des données dans un fichier. Sa syntaxe est :
f.write(”chaı̂ne de caractères”), f est le descripteur de fichier.

Exemple 1 Résulat 1
Ce code consiste à créer lee fichier ”test.txt”
Sur le disque dur ”test.txt”
>>>f=open(”test.txt”,”w”)
———————————
>>>f.write(”salut tout le monde\n”)
salut tout le monde
>>>f.write(”CPGE Maroc\n”)
CPGE Maroc
>>>f.close()
.
.

ENSA-K, Khouribga 2023-2023 22/ 31


Généralité sur les fichiers
chaı̂ne de caractères Manipulation des fichiers
Les fichiers Les fonctions d’entrées-sorties sur les fichiers textes
Le module ≪ pickle ≫

La fonction d’ecriture : write

Exemple 2 Résulat 2
Cette fonction permet de L’appel de la fonction
sauvegarder la table de TablMulti(”Table5.txt”,5 ) permet de
multiplication d’un entier n dans créer sur le disque dur ”Table5.txt”
un fichier source ——————————————–
def TablMulti(source,n) : 1*5=5
f=open(source,”w”) 2*5=10
for i in range(1,11) : 3*5=15
f.write(str(i)) 4*5=20
f.write(”*”) 5*5=25
f.write(str(n)) 6*5=30
f.write(”=”) 7*5=35
f.write(str(i*n)) 8*5=40
f.write(”\n”) 9*5=45
f.close() 10*5=50
. .
Remarque : on peut écrire d=””, d=str(i)+”*”+str(n)+”=”+str(i*n)+”\n” et
f.write(d)

ENSA-K, Khouribga 2023-2023 23/ 31


Généralité sur les fichiers
chaı̂ne de caractères Manipulation des fichiers
Les fichiers Les fonctions d’entrées-sorties sur les fichiers textes
Le module ≪ pickle ≫

La fonction d’ecriture : write

Exemple 3
Résulat 3
La fonction Fibonacci retourne le n-ime
terme de la suite de Fibonacci >>>TermSuiteFichier(”Fibo.txt”,4)
def Fibonacci(n) : ———————————————-
a ,b = 1 ,1 1
for i in range(1,n+1) : 2
a,b=b,a+b 3
return b 5

Cette fonction permet de sauvegarder la


table de multiplication d’un entier n dans Une autre solution
un fichier source
def SuiteFiboFichier(Fich,n) :
def SuiteFiboFichier(Fich,n) :
f=open(Fich,”w”)
f=open(Fich,”w”)
L=[]
for i in range(n) :
for i in range(n) :
f.write(str(Fibonacci(i)))
L=L+[str (Fibonacci(i))]
f.write(”\n”)
f.writelines(L)
f.close()
f.close()
.

ENSA-K, Khouribga 2023-2023 24/ 31


Généralité sur les fichiers
chaı̂ne de caractères Manipulation des fichiers
Les fichiers Les fonctions d’entrées-sorties sur les fichiers textes
Le module ≪ pickle ≫

La fonction d’ecriture : write

Ecrire à la fin de fichier


Il peut être intéressant d’ajouter des lignes à un fichier. Il faut alors l’ouvrir en
écriture en mode ’a’ et non ’w’.
>>> f out = open(’test.txt’, ’a’, encoding = ’utf-8’)
Pour rajouter deux lignes à la fin du fichier test.txt on fait :
>>> f out = open(’test.txt’, ’a’, encoding = ’utf-8’)
>>> f out.write(”2014\n”)
>>> f out.write(”Pyhton est gratuit\n”)
>>> f out.close()
Le contenu du fichier ”test.txt” devient :
—————————————————————–
salut tout le monde
CPGE Maroc
2014
Pyhton est gratuit
Il n’est pas possible de supprimer des lignes dans un fichier. Il faut créer un
nouveau fichier et détruire l’ancien !

ENSA-K, Khouribga 2023-2023 25/ 31


Généralité sur les fichiers
chaı̂ne de caractères Manipulation des fichiers
Les fichiers Les fonctions d’entrées-sorties sur les fichiers textes
Le module ≪ pickle ≫

Méthodes pour la lecture d’un fichier texte


Principe
Pour lire le contenu d’un fichier texte, il faut tout d’abord ouvrir ce fichier en mode
lecture (read ’r’). L’action de lecture consiste à transferer le contenu du fichier (dans le
disque dur) vers une variable (dans la RAM). Pour ce faire, on utilise la fonction read :

−− >Les variantes de la fonction read


—————————————–
read() : la méthode read sans argument lit toutes les données présentes dans le
fichier et les transfère dans une variable de type chaı̂ne de caractères (string)

Exemple 1 Résulat 1
Ce code consiste à lire le fichier ”test.txt” Sur l’écran on obtient :
>>>f=open(”test.txt”,”r”) salut tout le monde
>>>ch=f.read() CPGE Maroc
>>>print(ch) 2014
>>>f.close() Pyhton est gratuit
. .
ENSA-K, Khouribga 2023-2023 26/ 31
Généralité sur les fichiers
chaı̂ne de caractères Manipulation des fichiers
Les fichiers Les fonctions d’entrées-sorties sur les fichiers textes
Le module ≪ pickle ≫

Méthodes pour la lecture d’un fichier texte

read(size) : la fonction read peut également être utilisée avec un argument size.
Celui-ci indiquera combien de caractères doivent être lus, à partir de la position
déjà atteinte dans le fichier.

Exemple 2
Ce code consiste à lire le fichier ”test.txt”
>>>f=open(”test.txt”,”r”)
>>>t=f.read(5)
>>>print(t)
>>>f.close()
.

Résulat 2
Sur l’écran on obtient :
salut
.

ENSA-K, Khouribga 2023-2023 27/ 31


Généralité sur les fichiers
chaı̂ne de caractères Manipulation des fichiers
Les fichiers Les fonctions d’entrées-sorties sur les fichiers textes
Le module ≪ pickle ≫

Méthodes pour la lecture d’un fichier texte

readline() : cette méthode ne lit qu’une seule ligne à la fois à partir du fichier
(en incluant le caractère de fin de ligne). Pour lire le contenu entier de fichier, il
suffit d’itérer la lecture jusqu’à ce que la ligne soit vide.

Exemple 2 Parcourir un fichier avec for


>>>f1=open(”Table5.txt”,”r”) >>>f=open(”test.txt”,”r”)
>>>ch=f1.readline() >>>f
>>>print(ch) <i o.TextIOWrapper name=’test.txt’
1*5=5 encoding =′ UTF − 8′ >
>>>ch=f1.readline() >>> for i in f :
>>>print(ch) print(i)
2*5=10 salut tout le monde
>>>ch=f1.readline() CPGE Maroc
>>>print(ch) 2014
3*5=15 Pyhton est gratuit
>>>f1.close() >>>f.close()

ENSA-K, Khouribga 2023-2023 28/ 31


Généralité sur les fichiers
chaı̂ne de caractères Manipulation des fichiers
Les fichiers Les fonctions d’entrées-sorties sur les fichiers textes
Le module ≪ pickle ≫

Méthodes pour la lecture d’un fichier texte

Exemple 4 (solution 1) Exemple 4 (solution 2)


Une fonction qui lit un fichier
Une fonction qui lit un fichier
source ligne par ligne
source caractère par caractère
def LireFichier(source) :
def LireFichier(source) :
f=open(source,”r”)
f=open(source,”r”)
while 1 :
c=f.read(1)
lg=f.readline()
while c !=”” :
if lg !=”” :
print(c)
print(lg)
c=f.read(1)
else :
f.close()
break
.
.

Résulat 4 : L’appel LireFichier(”test.txt”) affiche sur l’écran


salut tout le monde
CPGE Maroc
2014
Pyhton est gratuit

ENSA-K, Khouribga 2023-2023 29/ 31


Généralité sur les fichiers
chaı̂ne de caractères Manipulation des fichiers
Les fichiers Les fonctions d’entrées-sorties sur les fichiers textes
Le module ≪ pickle ≫

Méthodes pour la lecture d’un fichier texte


readlines() : cette méthode transfère toutes les lignes d’un fichier dans une liste
de chaı̂nes de caractères (chaque élément de la liste est une ligne de fichier).

Exemple 5
>>>f=open(”test.txt”,”r”)
>>>L=f.readlines()
>>>print(L)
[’salut tout le mond\n’, ’CPGE Maroc\n’, ’2014\n’, ’Python est gratuit\n’]
>>>f.close()

Remarques
La méthode readline() est une méthode qui renvoie une chaı̂ne de caractères,
alors que la méthode readlines() renvoie une liste ;
À la fin du fichier, readline() renvoie une chaı̂ne vide, tandis que readlines()
renvoie une liste vide.
.

ENSA-K, Khouribga 2023-2023 30/ 31


Généralité sur les fichiers
chaı̂ne de caractères Manipulation des fichiers
Les fichiers Les fonctions d’entrées-sorties sur les fichiers textes
Le module ≪ pickle ≫

Le module ≪ pickle ≫

Les fichiers binaires


L’encodage binaire utilise une représentation proche de la machine.
Le module ”pickle” permet de traiter des fichiers en mode binaire.
La méthode dump() permet d’écrire des données de toutes sortes dans un fichier.
La méthode load() permet de lire des données de toutes sortes dans un fichier.

Exemple Résulat
>>>from pickle import * 27, [12,′ CPGE ′ ]
>>>a, b= 27, [12,′ CPGE ′ ]
>>>f=open(’DonneesTest’, ’wb’)
>>>dump(a,f) Remarques
>>>dump(b, f)
>>>f.close() - L’option ’wb’ est utilisé pour ouvrir un
>>>f= open(’DonnesTest’, ’rb’) fichier binaire en écriture
>>>d1,d2= load(f),load(f) - L’option ’rb’ est utilisé pour ouvrir un
>>>print(d1,d2) fichier binaire en lecture

ENSA-K, Khouribga 2023-2023 31/ 31

Vous aimerez peut-être aussi