Il s'agit ici de vous familiariser avec la gestion des fichiers en Python, en réalisant différentes opérations telles que la création, la modification ou la lecture de fichiers.
Les lignes de code seront écrites avec l'EDI (Environnement de Développement Intégré) EduPython.
Le Python dispose de la fonction native open()
,
disposant de plusieurs modes :
w | Ouvre en écriture, en effaçant le contenu du fichier |
---|---|
a | Ouvre en écriture, en ajoutant à la fin du fichier |
r | Ouvre en lecture (mode par défaut) |
Votre travail :
Ce programme crée un fichier s'il n'existe pas déjà. Il remplace l'éventuel texte présent dans le fichier par un nouveau texte.
fichier = open("mon_fichier.txt", "w") fichier.write("Bonjour à tous!\n") fichier.close()
Ce programme crée un fichier s'il n'existe pas déjà. Il ajoute à la fin du texte existant un nouveau texte.
fichier = open("mon_fichier.txt", "a") fichier.write("Comment allez-vous?\n") fichier.close()
Ce programme récupère et affiche la totalité du fichier.
fichier = open("mon_fichier.txt", "r") contenu = fichier.read() fichier.close() print(contenu)
Ci-dessous, chaque ligne est mise dans une liste.
fichier = open("mon_fichier.txt", "r") contenu = fichier.read() ligne = contenu.split("\n") fichier.close() print(ligne)
La variante ci-dessous, plus simple et plus commune, produit un résultat légèrement différent.
fichier = open("mon_fichier.txt", "r") ligne = fichier.readlines() fichier.close() print(ligne)
La méthode strip()
supprime les caractères non imprimables en début et fin de chaîne.
fichier = open("mon_fichier.txt", "r") ligne = fichier.readlines() fichier.close() print(ligne[0]) print(ligne[0].strip())
Ce programme récupère les notes d'un contrôle et les sauvegarde au format CSV. Testez-le avec trois ou quatre élèves.
print("NOTES DE CONTROLE") nb= int(input("Combien y a-t-il d'élèves? ")) csv = "Nom;Note\n" for i in range(nb): nom = input("Quel nom porte l'élève? ") note = input("Quelle est a note? ") csv += nom+";"+note+"\n" print(csv) fichier = open("notes.csv", "w") fichier.write(csv) fichier.close()
Le programme ci-dessous ouvre le fichier, lit les données et calcule la moyenne.
fichier = open("notes.csv", "r") ligne = fichier.readlines() fichier.close() total = 0 nb_notes = 0 for i in range(1,len(ligne)): note = ligne[i].split(";") total += float(note[1]) nb_notes += 1 moyenne = total/nb_notes print("Moyenne : ",round(moyenne,1))
Pour la suite, récupérez le fichier : notes.csv.
En modifiant le programme ci-dessus :
En modifiant le programme ci-dessus, retrouver et afficher le nombre de notes supérieures ou égales à 10.
Compléter le programme ci-dessous qui convertit les fichiers au format CSV en tableaux à incorporer dans les pages HTML.
fichier_csv = open("notes.csv", "r") ligne = fichier_csv.readlines() fichier_csv.close() retour='<table>\n' ... fichier_html = open("notes.html", "w") fichier_html.write(retour) fichier_html.close()
Exemple de fichier de départ, au format CSV :
Nom;Note Julie;13 Laura;08 Pascal;15
Tableau attendu, au format HTML :
<table> <tr><td>Nom</td><td>Note</td><tr> <tr><td>Julie</td><td>13</td><tr> <tr><td>Laura</td><td>08</td><tr> <tr><td>Pascal</td><td>15</td><tr> </table>
Ou mieux encore :
<table> <tr><th>Nom</th><th>Note</th><tr> <tr><td>Julie</td><td>13</td><tr> <tr><td>Laura</td><td>08</td><tr> <tr><td>Pascal</td><td>15</td><tr> </table>
Léopar votre prénom.
histoire.txten mode
lecture.
replace()pour modifier la variable, en remplaçant le mot
Léopar votre prénom.
histoire.txten mode
écriture.
Selon la version du Python que vous utilisez, il vous faudra peut-être préciser l'encodage.
fichier = open("histoire.txt", "r", encoding="utf-8")
data.gouv.fr
Notepad++...) pour prendre connaissance de son contenu.
Ecrire un programme comptant et affichant :
Khartis
France / départements 2016.
Suivant, puis à nouveau sur
Suivant, jusqu’à ce que s’affiche une carte de France vierge.
Ajouter une visualisationet sur
Symboles proportionnels.
Choisir une variablepuis sur
Producteurs. Votre carte est prête!