IPT : Cours 10. Lecture / Ecriture dans un fichier avec Python (2h)

Documents pareils
Utilisation de l outil lié à MBKSTR 9

Présentation du langage et premières fonctions

Chaque ordinateur est constitué de différentes unités de stockage de données (Disque dur, Graveur ) que l on peut imaginer comme de grandes armoires.

1 Lecture de fichiers

RACCOURCIS CLAVIERS. DEFINITION : Une «combinaison de touches» est un appui simultané sur plusieurs touches.

Procédure de restauration F8. Série LoRdi 2012 à Dell V131 V3360 L3330

URECA Initiation Matlab 2 Laurent Ott. Initiation Matlab 2


Introduction à l informatique en BCPST

Cette fonctionnalité est paramétrable et accessible dans le module administration via le menu "Dossier / Administration".

CAPTURE DES PROFESSIONNELS

TP1 - Prise en main de l environnement Unix.

Programmation impérative

Créer et modifier un fichier d'import des coordonnées approximatives avec Excel

L informatique en BCPST

Choisir le mode d envoi souhaité. Option 1 : Envoyer un SMS à un nombre réduit de numéros (0 10 )

Sommaire. Promo 39 B WINDOWS 2003 SERVER PART 1

Créer et modifier un fichier d'importation SAU avec Excel

F0RMAT I0N BUREAUTIQUE

Algorithmique et programmation : les bases (VBA) Corrigé

Sage 100 CRM Guide de l Import Plus avec Talend Version 8. Mise à jour : 2015 version 8

Plan de formation des Personnels en CUI-CAE Année

Travaux pratiques avec RapidMiner

TP 1. Prise en main du langage Python

Didacticiel Études de cas. Description succincte de Pentaho Data Integration Community Edition (Kettle).

Avertissement : Nos logiciels évoluent rendant parfois les nouvelles versions incompatibles avec les anciennes.

COMPTA COOP. Guide d utilisation

Prosp'Action GUIDE UTILISATEUR. Conquête et fidélisation de clients

PAGE 1. L écran du logiciel d Open Office Draw. Barre de menu: Les commandes du logiciel

Utilisez Toucan portable pour vos sauvegardes

Utilisation de la Plateforme Office365 et d Oultlook Web App

Dans le chapitre 1, nous associions aux fichiers ouverts des descripteurs de fichiers par lesquels nous accédions aux fichiers.

Export et import des RIB et IBAN avec les progiciels LD

EXCEL PERFECTIONNEMENT SERVICE INFORMATIQUE. Version /11/05

PRISE EN MAIN D UN TABLEUR. Version OPEN OFFICE

1. Structure d'un programme FORTRAN 95

2 Comment fonctionne un ordinateur, dans les grandes lignes

ENVOI EN NOMBRE DE SMS

Guide d usage pour Word 2007

COMPTABILITE SAGE LIGNE 30

Page Paragraphe Modification Mise en page du document Le bouton "Format de page" est maintenant "Page"

ENVOI EN NOMBRE DE MESSAGES AUDIO

USTL - Licence ST-A 1ère année Codage de l information TP 1 :

1.1 L EXPLORATEUR WINDOWS

ENDNOTE X2 SOMMAIRE. 1. La bibliothèque EndNote 1.1. Créer une nouvelle bibliothèque 1.2. Ouvrir une bibliothèque EndNote 1.3. Fermer une bibliothèque

RECOPLUS LOGICIEL DE GESTION DES RECOMMANDES NOTICE D UTILISATION DE RECOPLUS RESEAU. N de série

Logiciels de gestion FAC. Analyste AgExpert. Guide de démarrage rapide 2014

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

Installation et utilisation de Cobian Backup 8

Utiliser ma messagerie GMAIL

REMISE A NIVEAU DES SAVOIRS DE BASE INFORMATIQUE

ENVOI EN NOMBRE DE SMS

Logiciel de gestion de la taxe de séjour à destination des hébergeurs Communauté Urbaine de Strasbourg DIDACTITIEL

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

Compléments de documentation Scilab : affichage de texte et formatage de nombres

Gestion des données avec R

Atelier Découverte de Windows. janvier 2012

Initiation à la programmation en Python

Cours 7 : Utilisation de modules sous python

Guide de prise en main de la solution NetExplorer

CONNECT Comptabilité - Liste des fonctionnalités TABLE DES MATIERES

ESPACE COLLABORATIF SHAREPOINT

Date M.P Libellé Catégorie S.Catégorie Crédit Débit Solde S.B

Le langage C. Séance n 4

STAGE IREM 0- Premiers pas en Python

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

Document d accompagnement pour l utilisation du Cartable en ligne Lycée des Métiers Fernand LÉGER 2013/2014

INITIATION A L INFORMATIQUE. MODULE : Initiation à l'environnement Windows XP. Table des matières :

Utilisation du client de messagerie Thunderbird

GUIDE UTILISATEUR DHL FREIGHT E-BILLING LA FACTURATION ELECTRONIQUE PAR DHL FREIGHT

RapidMiner. Data Mining. 1 Introduction. 2 Prise en main. Master Maths Finances 2010/ Présentation. 1.2 Ressources

1 - Se connecter au Cartable en ligne

FEN FICHE EMPLOIS NUISANCES

SNT4U16 - Initiation à la programmation TD - Dynamique de POP III - Fichiers sources

La saisie d un texte

Menu Fédérateur. Procédure de réinstallation du logiciel EIC Menu Fédérateur d un ancien poste vers un nouveau poste

KIELA CONSULTING. Microsoft Office Open Office Windows - Internet. Formation sur mesure

Exonet : sauvegarde automatisée d une base de données

Espace pro. Installation des composants avec Firefox. Pour. Windows XP Vista en 32 et 64 bits Windows 7 en 32 et 64 bits

ésylog, direction technique Esylog_PeerBackup outil de sauvegarde individuelle mails & fichiers personnels documentation technique

Pratiques et usages du web, la «culture internet» moderne

Initiation à Excel. Frédéric Gava (MCF)

1) Installation de Dev-C++ Téléchargez le fichier devcpp4990setup.exe dans un répertoire de votre PC, puis double-cliquez dessus :

Utilisation du logiciel Epson Easy Interactive Tools

Module Communication - Messagerie V6. Infostance. Messagerie

Guide d implémentation. Paiement par identifiant Fichier des cartes arrivant à expiration

Mise en route et support Envision 10 SQL server (Avril 2015) A l'intention de l'administrateur SQL Server et de l administrateur Envision

Créer vos données sources avec OpenOffice, adieu Excel

Installation de CPA STUDIO :

Principe de fonctionnement du lanceur d'application "AdisTlsStartCfgLotus"

Modes Opératoires WinTrans Mai 13 ~ 1 ~

Exporter des écritures. Importer des écritures. Depuis EBP Comptabilité.

Guide Utilisateur Transnet

Cours 14 Les fichiers

Prise en main d une Cyberclasse

Création d un site web avec Nvu

Vous venez d acquérir un fichier de données issues de la Base de données SIRENE. Comment utiliser votre fichier?

Installation et paramétrage. Accès aux modèles, autotextes et clip- art partagés

Programmation système I Les entrées/sorties

INSTALLATION DE CEGID BUSINESS VERSION 2008 Edition 4 (CD-Rom du 16/07/2009) SUR UN POSTE AUTONOME SOMMAIRE

Transcription:

IPT : Cours 10 Lecture / Ecriture dans un fichier avec Python (2h) MPSI : Prytanée National Militaire Pascal Delahaye 16 janvier 2016 Même si très souvent les données d un programme sont fournies par l utilisateur par l intermédiaire du clavier et les sorties sont affichées à l écran, la communication entre un programme et l extérieur peut aussi se faire sous la forme de lecture et d édition de fichiers. Ce cours a pour objectif de présenter comment un programme peut aller rechercher ou sauvegarder des informations dans un fichier. 1 Mise en place d un environnement de travail adapté Lorsqu un fichier est appelé ou est créé par un programme, celui-ci doit savoir où aller le chercher et où l enregistrer. Ce paramétrage s effectue dans le menu outils - préférences - répertoire de travail global de Spyder. Pour les manipulations qui vont suivre nous allons choisir de mettre les fichiers manipulés et le fichier contenant les programmes Python dans le même répertoire. Pour cela : 1. Il faut créer un répertoire de travail dans notre espace personnel : python 2. Il faut préciser dans les préférences de Spyder que désormais, le répertoire de travail global est python On pourra pour cela, modifier les options : executer et répertoire de travail 3. Il faut sauvegarder les fichiers textes que l on souhaite lire dans ce répertoire. 1. Créer un répertoire python dans votre espace personnel ou sur le bureau de l ordinateur 2. Créer un fichier txt contenant les différents paragraphes : toto va à la plage - titi va se faire manger - tutu aime la danse Enregistrer-le sous le nom toto.txt dans le répertoire python précédent 3. Paramétrez correctement le répertoire de travail global de Spyder 1

2 Lecture d un fichier 2.1 La fonction open() La fonction open() permet d importer sous python un fichier en lecture (et/ou en écriture...). Elle a pour effet de créer une copie de ce fichier dans la mémoire vive de l ordinateur afin de le lire. La structure de cette fonction est la suivante : f = open( nom du fichier.txt, r ) f est le nom de la copie du fichier que nous sommes en train de créer et sur laquelle nous allons travailler. nom du fichier.txt est le nom du fichier que nous souhaitons importer r est l argument qui indique que la copie que nous créons est destinée à être lue ( r comme read ) 1. Créer à l aide de la fonction open() une copie de travail (en lecture) du fichier toto.txt créé précédemment. Vous appellerez toto cette copie. Remarque 1. Lorsqu on souhaite lire un fichier bitmap, on utilise l argument rb au lieu de r (vu en 2ème année!). 2.2 Lecture du fichier importé La lecture du fichier f se fait grâce aux méthodes : f.readline() et f.readlines(). Pour comprendre leur fonctionnement, il faut imaginer qu un curseur est placé en début de fichier lors de son importation. 1. La méthode f.readline() a pour effet de stocker dans une chaîne de caractères le premier paragraphe du texte contenu dans le fichier f et de placer le curseur au début du paragraphe suivant. Ainsi, la prochaine utilisation f.readline() permet de récupérer le second paragraphe et ainsi de suite... Lorsque le curseur arrive à la fin du fichier, la commande f.readline() renvoie la chaîne de caractères vide. 2. La méthode f.readlines() a quant à elle pour effet de stocker dans une liste les différents paragraphes du texte contenu dans le fichier f. Le premier paragraphe étant stocké sous la forme d une chaine de caractères dans la première composante, le deuxième dans la deuxième... etc... Comme la fonction f.readline(), elle ne porte que sur la partie du texte qui suit le curseur. 1. Taper l instruction : >>> C1 = toto.readline() Vérifier le contenu de la variable C1 dans l explorateur de variable. 2. Taper l instruction : >>> C2 = toto.readline() Vérifier le contenu de la variable C2 dans l explorateur de variable. 3. Taper l instruction : >>> C3 = toto.readline() Vérifier le contenu de la variable C3 dans l explorateur de variable. 4. Taper l instruction : >>> C4 = toto.readline() Vérifier le contenu de la variable C4 dans l explorateur de variable. Remarque 2. On constate que le retour à la ligne et la tabulation sont codés respectivement sous la forme \n et \t 2

1. Taper l instruction : >>> L = toto.readlines() Vérifier le contenu de la variable L en tapant l instruction >>> L Interpréter le résultat obtenu... 2. Créer une nouvelle copie du fichier toto.txt à l aide de la fonction open() Retaper l instruction : >>> L = toto.readlines() Vérifier le contenu de la variable L en tapant l instruction >>> L On peut alors récupérer les différents paragraphes du texte en tapant L[0], L[1], et L[2]. 2.3 2 méthodes de traitement d une chaîne de caractères La méthode C.strip() : Elle permet d éliminer les espaces et les fins de paragraphe en début et en fin d une chaine de caractères C. Exemple 1. Nettoyer le début et la fin de la phrase : toto, 23, rouge \n La méthode C.split( x ) : Elle permet de décomposer une chaine de caractères C sous la forme d une liste de chaines de caractères dont les composantes correspondent aux différentes parties de la chaîne C séparées par le séparateur x. Les séparateurs usuellement utilisés sont : \t., ; et : Exemple 2. Décomposez sous la forme d une liste la chaîne de caractères suivante : toto, 23, rouge. Vous prendrez tour à tour les séparateurs, et o 2.4 Application : La lecture par python d un fichier excel Pour convertir un fichier excel en un fichier de données lisible par python, le fichier doit être enregistré au format*.csv. 1. Créer un fichier excel ou openoffice contenant la ligne les données suivantes : toto 23 rouge titi 12 vert tutu 57 rose 2. Enregistrer ce fichier au format csv sous le nom : toto.csv 3. Ouvrir ce fichier à l aide du blocnote pour voir ce qu il contient. 4. Concevoir un programme python permettant de calculer la somme des nombres de la deuxième colonne. 2.5 Fermeture d un fichier en lecture L ouverture d un fichier f en lecture mobilise de la mémoire vive. Si le fichier n a plus besoin d être lu, il faut impérativement libérer cette mémoire en utilisant la méthode 3

2.6 Exercice Commencer par créer un fichier premiers.text dans lequel on stocke les deux paragraphes suivants : 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43 Concevoir un programmme python permettant de calculer la somme de tous les nombres contenus dans ce fichier. Vous n oublierez pas de fermer le fichier en lecture à la fin du programme. La conversiond une chaine de caractèresen un nombre se fait à l aide des fonctions : eval(),int() ou float() 3 Ecriture dans un fichier 3.1 Ecriture dans un nouveau fichier CREATION : La fonction open() permet également de créer sous python un fichier en écriture. Elle a pour effet de créer un fichier une copie de travail sur le disque dur. La structure de cette fonction est la suivante : s = open( nom du fichier.txt, w ) s est le nom de la copie du fichier en écriture que nous sommes en train de créer. nom du fichier.txt est le nom que portera le fichier dans le répertoire de travail global. w est l argument qui indique que nous créons une copie en écriture ( w comme write ) 1. Créer un fichier en écriture nommé resultats.txt et dont la copie python est nommés s. Vérifiez que ce fichier a bien été créer dans votre répertoire de travail global et vérifiez son contenu. Remarque 3. Lorsqu on souhaite écrire un fichier bitmap, on utilise l argument wb au lieu de w (vu en deuxième année!). ECRITURE : L écriture dans un fichier se fait alors grâce à la méthode : f.write() 1. taper l instruction : s.write(voyons si ça marche?) 2. taper l instruction : s.close() là encore, la fermeture d un fichier en écriture est indispensable car elle permet d enregistrer dans le fichier, les informations inscrites dans la copie python... tout en libérant également de l espace mémoire. Exemple 3. Pour enregistrer dans un fichier, tous les nombres pairs allant de 0 à 100, on pourra alors procéder ainsi : f = open( pairs.txt, w ) # Création du fichier en écriture for i in range(0,51): f.write(str(2*i) +, ) # Ecriture des nombres pairs dans le fichier # Enregistrement des données dans le fichiers "pairs.txt" 4

Vous pouvez maintenant ouvrir le fichier pairs.txt qui vient d être créé et vérifier qu il contient bien les nombres pairs souhaités. Remarque 4. 1. Bien retenir que l instruction write() n inscrit que des chaînes de caractères. Il faut donc convertir la valeur 2*i en chaîne de caractères grâce à l instruction str(). 2. Que se passe-t-il si on remplace l instruction f.write(str(2*i) +, ) par f.write(str(2*i) +, \n )? Vérifiez-le! 3. Vous constaterez que l ouverture en écriture d un fichier : soit crée un nouveau fichier lorsqu il n existait pas, soit écrase automatiquement le fichier contenant un nom identique. 3.2 Ajout dans un fichier existant CREATION : La structure de cette fonction est la suivante : s = open( nom du fichier.txt, a ) s est le nom de la copie du fichier auquel nous souhaitons ajouter des éléments. nom du fichier.txt est le nom du fichier auquel on souhaite ajouter des éléments. a est l argument qui indique que nous créons une copie en ajout ( a comme append ) 1. Ouvrir en ajout le fichier resultats.txt : on nommera s la copie python. Remarque 5. Lorsqu on souhaite ajouter des informations à un fichier bitmap, on utilise l argument ab au lieu de a (vu en deuxième année!). ECRITURE en AJOUT : L écriture dans un fichier se fait de nouveau grâce à la méthode : f.write() Mais cette fois, le curseur d écriture est placé à la fin du fichier afin de ne pas écraser les informations déjà contenues dans le fichier. 1. taper l instruction : s.write("où va se rajouter cette phrase?") 2. taper l instruction : s.close() Est-elle placé dans le fichier comme un nouveau paragraphe? Exemple 4. Pour ajouter un nouveau nombre premier à la liste des nombres premiers précédents : f = open( premiers.txt, a ) # Création en ajout de l objet représentant le fichier f.write(, 47 ) # Ajout de, 47 au contenu du fichier # Enregistrement des résultats Vérification : On peut, bien sûr, ouvrir le fichier premiers.txt et vérifier que 47 y a bien été ajouté. Comment vérifier l efficacité de la manipulation précédente sans ouvir le fichier premiers.txt? 5

4 Exemple : Elimination des e dans un texte 1) Procédure d élimination des e dans une chaine de caractères : Les chaînes de caractères sont des itérables immuables. Nous sommes donc obligés dans le programme suivant, de créer une nouvelle chaîne de caractères pour stocker notre résultat. def modvoy(chaine): n = len(chaine) L = "" for k in range(0,n-1) : if chaine[k]!= e : L = L + chaine[k] return L 2) Procédure récupérant un texte dans un fichier avant d en éliminer les e et d enregistrer le résultat dans un autre fichier : def destroy(nom_du_fichier) : f = open(nom_du_fichier, r ) s = open( resultat.txt, w ) texte = f.readlines() for l in texte : L = modvoy(l) s.write(l + \n ) s.close() # Ouverture du fichier à traiter # Création du fichier de sortie # Récupération des données sous la forme d une liste # Parcours des données # Elimination des voyelles de la ligne Lk # Enregistrement du résultat dans le fichier de sortie Vérifiez que le fichier resultat.txt contient bien le résultat attendu. 5 Exercices Exercice : 1 Déterminer une procédure permettant de calculer le nombre de caractères contenu dans un fichier texte. Exercice : 2 Déterminer une procédure permettant de fusionner deux colonnes d un fichier excel. 6