Vous êtes sur la page 1sur 4

1𝑒𝑚𝑒 𝐶𝑆

Programmation python
Programmation Python : Les fichiers
Exercice 1:

Les systèmes d'exploitation basés sur Unix comprennent généralement un outil appelé « head ». Il affiche
les 10 premières lignes d'un fichier dont le nom est donné comme paramètre de ligne de commande.
Écrivez un programme Python qui offre le même comportement.

num_line=10
f=open ('file.txt','r')
line=f.readline()
compteur=0
while compteur<=num_line and line!="":
print (line)
compteur+=1
line=f.readline()
if (compteur <num_line):
print ("le fichier comporte moins de 10 lignes")
else:
print ("parcours terminé")
f.close()

Exercice 2 :

On a deux fichiers textes « code_documenté.txt » contenant un code python avec des commentaires et «
code_only.txt » un fichier texte vide Python utilise le caractère # pour marquer le début d'un commentaire. Le
commentaire se termine à la fin de la ligne contenant ce caractère. L’objectif est de copier seulement la partie code
du fichier « code_documenté.txt » vers le fichier texte « code_only.txt ». Remarque : Nous ignorerons la situation où
le caractère commentaire se trouve à l'intérieur d'une chaîne de caractères).

code_doc =open('code_documente.txt','r')
code=open ('code_only.txt','w')
Contents=code_doc.readlines()
for content in Contents:
if content[0]!='#':
code.write(content)
code_doc.close()
code.close()
Exercice 3 :

Soit un fichier texte contenant un paragraphe. L’objectif de cet exercice est de retourner les derniers mots de ce
fichier ayant les longueurs 1, 2, 3 et 4.

Remarque : Vous devez travailler avec les dictionnaires.

Exemple : Soit le fichier texte suivant : En utilisant le module csv qui vient avec Python nous pouvons facilement lire
et écrire dans des fichiers CSV. Chaque ligne du fichier csv est une ligne du tableau .

1
Rahma ABED ISI©2022-2023
1𝑒𝑚𝑒 𝐶𝑆
Programmation python
Le code doit retourner le message suivant :

Le dernier mot de longueur 1 est : .

Le dernier mot de longueur 2 est : du

Le dernier mot de longueur 3 est : une

Le dernier mot de longueur 4 est : CSV.

f=open('ex.txt','r')
ch=f.read()
liste=ch.split(' ')
d={}
for elem in liste:
if (len(elem) ==1):
d[1]=elem
elif(len(elem) ==2):
d[2]=elem
elif (len(elem) ==3):
d[3]=elem
elif (len(elem) ==4):
d[4]=elem
print (d)
Exercice 4 :

Une entreprise admet des données concernant ces clients dans un fichier texte où chaque ligne représente
un client de la forme suivante :

Nom : Valeur, Prénom : Valeur, Adresse : Valeur

Voici un extrait du fichier client.txt

Dans le but de faciliter la manipulation de ces données, elle désire enregistrer ces données dans un fichier client.csv
de la forme suivante :

2
Rahma ABED ISI©2022-2023
1𝑒𝑚𝑒 𝐶𝑆
Programmation python
1. Ecrire une fonction python Convertir(f) qui prend en paramètre un fichier texte (Similaire au fichier client.txt)
et retourne une liste de dictionnaire contenant les différentes données du fichier :
L= [{‘Nom’:’Ahmed’,’Prénom’:’Bousaid’,’Adresse’:’Ariana’},
{‘Nom’:’Rami’,’Prénom’:’Majri’,’Adresse’:’Sousse’},
{‘Nom’:’Soumaya’,’Prénom’:’Ben Ltaief,’Adresse’:’Ariana’},
{‘Nom’:’Bochra’,’Prénom’:’Raddaoui’,’Adresse:’Tunis’},
{‘Nom’:’Mohamed’,’Prénom’:’Bouzayane’,’Adresse’:’Gafsa’}]
Indication : Vous pouvez utiliser la fonction split

def convertir (f):


l=[] #initialisation liste des dictionnaire
f=open (f,'r')
content= f.readline()
while (content !=''):
elements=content.split(',') # elements contient le couple cle,valeur
d={}
for element in elements: #parcour element par element
key,value=element.split(':')#extraction clé,valeur
d[key]=value
l.append (d)
content= f.readline()
return (l)

2. Ecrire une fonction Ecrire_csv(L) qui prend en paramètre une liste de dictionnaire et écrit les données de la
liste dans un fichier csv et retourne le nom du fichier csv (client.csv).

def Ecrire_csv(d) :
Nomcolone=['Nom','Prenom','Adresse']
nom_file='client.csv'
f= open(nom_file,'w')
writerObject=csv.DictWriter(f,fieldnames=Nomcolone)
writerObject.writeheader()
for element in d:
print (element)
writerObject.writerow(element)
f.close()
return nom_file

3. Ecrire une fonction qui permet de lire les données à partir d’un fichier csv et cherche les noms des clients qui
habitent à une adresse donnée en paramètre.
def recherche(ad):
res=''
f= open('client.csv','r')
object_reader=csv.DictReader(f,delimiter=",")
for ligne in object_reader:
if (ligne['Adresse']==ad):
res=res+ligne['Nom']+ " "+ligne['Prenom']+","
if (res==''):
res= ''l'adrresse demande n'existe pas''
f.close()

3
Rahma ABED ISI©2022-2023
1𝑒𝑚𝑒 𝐶𝑆
Programmation python

4
Rahma ABED ISI©2022-2023

Vous aimerez peut-être aussi