[Go to site: main page, start]

0% ont trouvé ce document utile (0 vote)
7 vues6 pages

Programmes Python pour la gestion de fichiers

Transféré par

Slim Ellouze
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
7 vues6 pages

Programmes Python pour la gestion de fichiers

Transféré par

Slim Ellouze
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

⭐Exercice 1:

Soit le fichier [Link], fourni en pièce jointe. Écrire un programme Python qui permet de :

1. Lire le fichier ligne par ligne.


2. Afficher chaque ligne préfixée par son numéro.
3. Compter et afficher le nombre total de mots dans le fichier.
with open("[Link]", "r", encoding="utf-8") as f:
lignes = [Link]()

i = 1
nb_mots = 0
for ligne in lignes:
print(f"Ligne {i} : {ligne}")
mots = [Link]()
nb_mots_ligne = 0
for mot in mots:
nb_mots_ligne += 1
nb_mots += nb_mots_ligne
i += 1

print(f"Nombre total de mots : {nb_mots}")

Ligne 1 : Dans le silence d’une nuit étoilée,

Ligne 2 : Le vent fredonne une douce mélodie.

Ligne 3 : Les arbres dansent en secret,

Ligne 4 : Et la lune veille, paisible, infinie.

Ligne 5 :

Ligne 6 : Chaque étoile a son histoire,

Ligne 7 : Un rêve, une lumière, un espoir.

Ligne 8 : Et le poète, plume à la main,

Ligne 9 : Écrit au rythme du destin.

Nombre total de mots : 46

⭐Exercice 2:
Écrire un programme Python qui :

1. Demande à l'utilisateur de saisir des lignes de texte jusqu'à ce qu'il tape "stop".
2. Enregistre chaque ligne saisie dans un fichier [Link], en mode append.
with open("[Link]", "a") as f:
while True:
ligne = input("> ")
if [Link]() == "stop":
break
[Link](ligne + "")

> yyy
> stop

⭐Exercice 3:
Soit le fichier [Link], fourni en pièce jointe. Écrire un programme Python qui :

1. Lit le fichier CSV avec le module csv.


2. Affiche les noms des étudiants ayant une moyenne supérieure à 14.
import csv

with open("[Link]", newline="", encoding="utf-8") as f:


reader = [Link](f)
for etu in reader:
if float(etu["moyenne"]) > 14:
print(etu["nom"])

Ali
Karim
Leila

⭐Exercice 4:
Écrire un programme Python qui permet de:

1. Créer une liste de dictionnaires contenant les données de quelques livres (titre, auteur,
année).
2. Écrire ces données dans un fichier [Link] avec [Link].
import csv

livres = [
{"titre": "Python pour tous", "auteur": "M. Dupont", "annee":
2020},
{"titre": "Data Science", "auteur": "S. Martin", "annee": 2022},
]

with open("[Link]", "w", newline="") as f:


writer = [Link](f, fieldnames=["titre", "auteur",
"annee"])
[Link]()
[Link](livres)
⭐Exercice 5:
Écrire un programme Python qui :

1. Crée une structure contenant une liste d'articles (nom, quantité, prix unitaire).
2. Calcule le prix total.
3. Enregistre cette structure dans un fichier JSON [Link].
import json

panier = {
"articles": [
{"nom": "Stylo", "quantite": 2, "prix": 1.5},
{"nom": "Cahier", "quantite": 3, "prix": 2.0},
]
}

panier["total"] = sum(a["quantite"] * a["prix"] for a in


panier["articles"])

with open("[Link]", "w", encoding="utf-8") as f:


[Link](panier, f, indent=4)

⭐ Exercice 6 :
Écrire un programme Python qui :

1. Crée une classe Etudiant avec nom, âge et notes.


2. Instancie un objet et le sauvegarde dans un fichier [Link] avec le module pickle.
import pickle

class Etudiant:
def __init__(self, nom, age, notes):
[Link] = nom
[Link] = age
[Link] = notes

etudiant = Etudiant("Ali", 21, [14.5, 16, 15])

with open("[Link]", "wb") as f:


[Link](etudiant, f)

⭐Exercice 7:
Soient les fichiers [Link] et [Link], fournis en pièces jointes (colonnes : nom, note).
Écrire un programme Python qui :

1. Lit les deux fichiers CSV.


2. Fusionne les données dans une seule liste.
3. Trie les étudiants par nom.
4. Enregistre le résultat dans un nouveau fichier notes_total.csv.
import csv

# Lire les deux fichiers CSV


etudiants = []

with open("[Link]", newline="", encoding="utf-8") as f1:


reader1 = [Link](f1)
for row in reader1:
[Link](row)

with open("[Link]", newline="", encoding="utf-8") as f2:


reader2 = [Link](f2)
for row in reader2:
[Link](row)

# Trier la liste des étudiants par nom


etudiants_trie = sorted(etudiants, key=lambda x: x["nom"])

# Écrire le résultat dans un nouveau fichier


with open("notes_total.csv", "w", newline="", encoding="utf-8") as
f_out:
champs = ["nom", "note"]
writer = [Link](f_out, fieldnames=champs)
[Link]()
[Link](etudiants_trie)

⭐ Exercice 8 :
Soient les fichiers produits_2023.json et produits_2024.json, fournis en pièces jointes. Écrire un
programme Python qui :

1. Compare les deux fichiers (liste de produits avec ID, nom, prix).
2. Identifie les nouveaux produits apparus en 2024.
3. Sauvegarde cette différence dans un fichier nouveaux_produits.json.
import csv

# Lire les deux fichiers CSV


etudiants = []

with open("[Link]", newline="") as f1:


reader1 = [Link](f1)
for row in reader1:
[Link](row)

with open("[Link]", newline="") as f2:


reader2 = [Link](f2)
for row in reader2:
[Link](row)

# Trier la liste des étudiants par nom


etudiants_trie = sorted(etudiants, key=lambda x: x["nom"])

# Écrire le résultat dans un nouveau fichier


with open("notes_total.csv", "w", newline="", encoding="utf-8") as
f_out:
champs = ["nom", "note"]
writer = [Link](f_out, fieldnames=champs)
[Link]()
[Link](etudiants_trie)

⭐ Exercice 9:
Soient les fichiers [Link], [Link], [Link], fournis en pièces jointes. Écrire un
programme Python qui :

1. Désérialise les objets.


2. Calcule la moyenne générale de tous les étudiants.
3. Affiche un classement selon la moyenne.
import pickle

# Liste des fichiers à charger


fichiers = ["[Link]", "[Link]", "[Link]"]
etudiants = []

# Charger les objets


for fichier in fichiers:
with open(fichier, "rb") as f:
e = [Link](f)
moyenne = sum([Link]) / len([Link])
[Link]({"nom": [Link], "moyenne": moyenne})

# Trier les étudiants par moyenne décroissante


classement = sorted(etudiants, key=lambda x: x["moyenne"],
reverse=True)

# Affichage
print("Classement des étudiants :")
for i, etu in enumerate(classement, start=1):
print(f"{i}. {etu['nom']} - Moyenne : {etu['moyenne']:.2f}")

Classement des étudiants :


1. Fatma - Moyenne : 15.83
2. Ahmed - Moyenne : 14.33
3. Yassine - Moyenne : 12.50

Vous aimerez peut-être aussi