Académique Documents
Professionnel Documents
Culture Documents
Les fichiers
Chapitre 4
Chaı̂nes de caractères (str)/ Fichiers (File)
6 novembre 2022
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 ≫
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 ≫
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 ′ >
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)
Syntaxe
identificateur=”valeur” ou identificateur=’valeur’
Exemples
>>>lettre=’A’
>>>centre=’CPGE Khourubga’
>>>Festival=”Moussem Moulay Abdellah 2022”
>>>nom=’Ali’
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’
>>>3*ch1
’salutsalutsalut’
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
Exemple
>>> S=”CPGE 2016”
>>>S[0 :1]
’C’
>>>S[0 :4]
’CPGE’
>>>S[0 :-1]
’CPGE 201’
>>>S[2 :4]
’GE’
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.
.
2
0
1
6
>>>ch=”maroc”
>>>len(ch)
5
>>>chr(65)
’A’
>>>ord(’A’)
65
>>>ch=”Morocco”
>>>ch.count(’o’)
3
>>> max(”maroc”)
>>>’r’
>>>min(”maroc”)
’a’
>>> max(”Ali”,”Ahmed”)
’Ali’
>>> min(”Ali”,”Ahmed”)
’Ahmed’
>>>ch=”CASABLANCA” ;ch.lower()
’casablanca’
>>>ch=”CASABLANCA”
>>>ch.split(’A’)
[′ C ′ ,′ S ′ ,′ BL′ ,′ NC ′ ,′′ ]
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 ≫
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.
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.
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 ;
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()
.
.
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)
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
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 ≫
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
.
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 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.
.
Le module ≪ pickle ≫
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