Vous êtes sur la page 1sur 5

Ecole Alcachy Niveau MP/MP*

Exercices sur Les fichiers python

1. Ecrire une fonction Python qui prend en argument un fichier texte et qui renvoie le nombre de
lignes et le nombre de caractères du fichier.
2. Ecrire une fonction Python qui prend en argument un fichier texte et qui calcule et affiche
o Le nombre de mots
o Le mot le plus long
o Le mot le plus court
o Le mot qui contient plus de ‘e’.
o Le mot qui ne contient aucun ‘e’
o Le mot le plus fréquent et sa fréquence d’apparition

3. Ecrire une fonction Python qui prend en argument un fichier texte et qui renvoie un fichier texte
avec le contenu du fichier texte mais sans les sauts de lignes.
4. Ecrire une fonction Python qui prend en argument deux fichiers fichier1 et fichier2 et qui écrit à la
fin de fichier1 le contenu de fichier2.
5. Ecrire un script Python qui demande à l’utilisateur de donner n un entier supérieur ou égal à 2 et
qui renvoie dans un fichier texte les tables de multiplication des couples (i, j) de [1, n].
6. Ecrire un script Python qui prend en argument deux fichiers fichier1 et fichier2 et qui copie le
contenu de fichier1 dans fichier2 à l’envers : la dernière ligne devienne la première ligne, l’avant-
dernière ligne devient la seconde ligne , ... Les lignes, elles mêmes, ne sont pas inversées.
7. Ecrire un script Python qui compare le contenu de deux fichiers texte.
8. Ecrire un script Python qui prend en argument un fichier texte et un caractère c et qui crée un
fichier contenant le contenu de fichier dans lequel tous les espaces sont remplacés par le caractère
c. On pourra utiliser join.
9. Ecrire un script Python qui prend en argument un fichier csv contenant un répertoire (i.e. dont les
colonnes sont nom, code postal, ville ) et qui renvoie la liste des codes postaux présents dans ce
répertoire. D’abord, avec répétition, puis sans répétition. On pourra utiliser split.
10. Le but de cet exercice est de créer un moteur de QCM avec correction automatique des réponses
de l’utilisateur. Le fichier QCM est au format csv ; il est ainsi structuré : la question; une réponse
possible; une réponse possible; … ;le numéro de la bonne réponse

Exemple de QCM :

Quelle est la couleur du cheval blanc de Mohammed V ?; Bleu; Blanc; Rouge;2

Comment s’appelle le président Iranien ?; Ahmadi Najad – Rouhani ou Rafsanjani;

A.Lagrioui Les Fichiers en Python 1/2


Ecole Alcachy Niveau MP/MP*

Combien de membres a un unijambiste ? 1; 2; 3; 4; 3

Ecrire un programme qui lit un QCM et qui présente, de manière aléatoire, les questions qui s’y
trouvent, lit les réponses de l’utilisateur, les analysent, donne le score réalisé à la fin ainsi que les
bonnes réponses aux différentes questions.

11. Créer un fichier texte contenant une suite aléatoire de chiffres.


On utilisera la fonction randint() du module random.
12. Écrire la fonction afficherfichier (nomfichier) qui affiche le contenu du fichier dont le chemin est
passé en paramètre
13. Lecture d’un fichier : On considère un ficher montagnes.txt contenant les lignes suivantes :

Arbizon ; 2831 ; Pyrenees ; K2 ; 8611 ;Karakoram ;

Aneto ;3350 ;Pyrenees ; Toupqal; 4165; Maroc

Nanga Parbat ;8125 ;Himalaya ; Araille ;2759 ;Pyrenees ;

Broad Peak ; 8047 ;Karakoram ; Anie ;2504 ;Pyrenees ;

Gasherbrum I ; 8068 ;Karakoram ;

Ecrire une fonction qui lit le fichier et qui renvoie un dictionnaire sommet : (altitude, pays).Pour cela :

- Lire le fichier ligne par ligne, et pour chaque ligne,


- la nettoyer de ses caractères espaces et ' ;' en début et fin de ligne (méthode str.strip())
- la découper en une liste de trois mots [sommet, altitude, pays] (méthode str.split())
- créer l’entrée correspondante dans le dictionnaire.
14. Lire les 1000 premiers nombres premiers dans le fichier premiers premiers.txt... et les mettre dans
une liste. Écrire ensuite dans un nouveau fichier ces 1000 entiers regroupés par 10 et séparés par
des tabulations. Ouvrir le fichier créé avec votre éditeur préféré.
Calculer tous les nombres premiers inférieurs à 106. Ces nombres seront mis par lignes de dix
(séparés par des virgules) dans dix fichiers traitant des tranches de longueur 105.

Par exemple, la première ligne de mon fichier Tranche8.txt est

800011, 800029, 800053, 800057, 800077, 800083, 800089, 800113, 800117, 800119

A.Lagrioui Les Fichiers en Python 2/2


Ecole Alcachy Niveau MP/MP*

#question 1

def nombrelignecaractere(fichier):

f=open(fichier,"r")
s=f.read()
ligne=len(s.split())
caractere=len(s)
return ligne,caractere
#question2

def imagefichier(fichier):

f=open(fichier,"r")
s=f.read()
f.close()
s=s.replace('\n', ' ')
f=open(fichier,'w')
f.write(s)
f.close()
return fichier
#question 3

def collerfichier(fichier1, fichier2):#copier fichier2 en fin de fichier1

f=open(fichier1,"a+")
g=open(fichier2,"r")
s=g.read()
f.write('\n'+s)
f.close()
g.close()

#question 4

def fichiertable(fichier,n):

f=open(fichier,"w")
table=" "
for i in range(1,n+1):
table=table+' '+str(i)

A.Lagrioui Les Fichiers en Python


3/2
Ecole Alcachy Niveau MP/MP*

table=table+'\n'
for i in range(1,n+1):
ligne=str(i)+' '
for j in range(1,n+1):
ligne=ligne+' '+str(i*j)
table=table+ligne+'\n'
f.write(table)
f.close()

#question 5

def copiereninverse(fichier1, fichier2):#copier fichier1 a l'envers dans fichier2

f=open(fichier2,"w")
g=open(fichier1,"r")
L=g.readlines()
L.reverse()
s='\n'.join(L)
f.write(s)
f.close()
g.close()

#question 6

def comparerfichier(fiche1, fiche2):

f1=open(fiche1,"r")
f2=open(fiche2,"r")
s1=f1.read()
s1=s1.strip()
s2=f2.read()
s2=s2.strip()
f1.close()
f2.close()
for i in range(min(len(s1),len(s2))):
if s1[i]!=s2[i]:
return False
return True

A.Lagrioui Les Fichiers en Python


4/2
Ecole Alcachy Niveau MP/MP*

#question 7

def remplacerfichier(fichier, c):

f=open(fichier,"r")
s=f.read()
s=s.strip()
s=s.replace(' ',c)
f.close()
f=open(fichier,"w+")
s=f.write(s)
f.close()

#question 8

def repertoire(fichier):

f=open(fichier,"r")
L=f.readlines()
code=[]
for i in range(len(L)):
s=L(i]
s=s.replace(';',' ') # on remplace les ';' par l'espace
s=s.split()
code.append(s[1])#on récupere uniquement la 2eme colonn
f.close()
return code

#question 9

#question 10

#question 10

A.Lagrioui Les Fichiers en Python


5/2

Vous aimerez peut-être aussi