• Aucun résultat trouvé

BCPST ´Ecriture et lecture dans un fichier 2014-2015

N/A
N/A
Protected

Academic year: 2022

Partager "BCPST ´Ecriture et lecture dans un fichier 2014-2015"

Copied!
3
0
0

Texte intégral

(1)

BCPST Ecriture et lecture dans un fichier´ 2014-2015

Exercice 1 : Lecture dans un fichier. . . . (1) Ouvrir un fichier avec gedit, ´ecrire un texte de plusieurs lignes, le sauvegarder comme

texte1.txt sur votre cl´e USB dans le r´epertoire du TP du jour.

(2) Ouvrir un fichier PythonavecPyzo que l’on nommera lecture script.py. Enregistrer ce fichier dans le mˆeme repertoire que le fichier texte.

(3) ´Ecrire dans votre fichier les lignes suivantes.

w i t h open( ” t e x t e 1 . t x t ” , ” r ” , e n c o d i n g=” u t f−8” ) a s f i c h i e r t e x t e : t e x t e = f i c h i e r t e x t e . r e a d ( )

a. Afficher le type de la variable texte b. Afficher la variable texte

c. Proposer une fonction qui compte le nombre de e dans votre texte.

d. Comment peut-on v´erifier simplement que le mot Bonjour est dans votre texte ? (4) a. Modifier read par readline

b. Afficher toutes les lignes du texte.

c. Afficher la premi`ere lettre de chaque ligne.

(5) a. Modifier readline par readlines.

b. Afficher la premi`ere lettre de chaque ligne.

Conclusion : Il existe 3 fa¸cons pour lire dans un fichier, il faut savoir les utiliser et bien choisir la fa¸con en fonction du contexte

Exercice 2 : ´Ecriture dans un fichier. . . . (1) Dans le mˆeme r´epertoire, cr´eer le fichierecriture script.pyet recopier les lignes suivantes :

w i t h open( ” t e x t e 2 . t x t ” , ”w” , e n c o d i n g=” u t f−8” ) a s f i c h i e r T e x t e : f i c h i e r T e x t e . w r i t e ( ” t e s t d ’ e c r i t u r e ” )

(2) V´erifier que le r´esultat attendu est obtenu.

(3) Proposer un script permettant d’´ecrire 100 nombres al´eatoires avec un nombre par ligne (Le caract`ere "\n" permet d’aller `a la ligne).

(4) Proposer un script permettant d’´ecrire votre texte (dans texte1) `a l’envers.

(5) Proposer un script permettant d’´ecrire votre texte (dans texte1) en rempla¸cant les e par des o. (on pourra voir la fonction replace)

(6) Lors de l’ouverture du fichier, modifier "w"par "a". Que se passe-t-il ?

On se donne mainteant le fichier lacnoir.csv qui donne la quantit´e de pollens de quelques esp`eces en fonction de la profondeur dans une tourbe.

On va manipuler automatiquement ce fichier.

Exercice 3 : Lecture d’un fichier CSV. . . . (1) T´el´echarger le fichier lacnoir.csv.

Les fichiers CSV ont une structure bien d´efinie que l’on peut observer en ouvrant le fichier avec gedit puis `a l’aide de OpenOffice.

En Python, il est facile d’utiliser cette structure pour travailler le fichier. On peut importer la biblioth`equeCSV

(2)

BCPST Ecriture et lecture dans un fichier, Page 2 sur 3´ 2014-2015 (2) On se donne la fonction :

def d i c t f i c h i e r c s v ( n o m F i c h i e r ) :

w i t h open( nomFichier , ’ r ’ ) a s f i c h i e r T e x t e :

l i s t e C S V = l i s t( c s v . D i c t R e a d e r ( f i c h i e r T e x t e ) ) return l i s t e C S V

On obtient alors une liste de dictionnaire, on va analyser cette fonction.

a. Analyser cette fonction et tester l`a avec lacnoir.csv.

b. Comment obtenir le nombre de grains de pollen d’un noisetier `a une profondeur de 100 m`etre.

(3) Proposer une fonction taux qui prend en arguments une profondeur et une esp`ece et re- tourne le nombre de pollens.

(4) Proposer une fonctiontaux maxqui prend en argument une profondeur et renvoie l’esp`ece ayant le plus grand nombre de pollens `a cette profondeur.

Exercice 4 : ´Ecriture d’un fichier CSV. . . . On peut aussi ´ecrire facilement un fichier CSV `a partir d’un dictionnaire en utilisant la fonction suivante :

def e c r i r e f i c h i e r c s v ( d i c t i o n n a i r e , n o m F i c h i e r S o r t i e ) :

# L ’ e n t e t e du f i c h i e r e s t composee d e s c l e s du d i c t i o n n a i r e de c h a q u e e l e m e n t de l a l i s t e . e n t e t e = d i c t i o n n a i r e [ 0 ] . k e y s ( )

# On e c r i t e n s u i t e c e t t e l i s t e dans l e f i c h i e r c s v w i t h open( n o m F i c h i e r S o r t i e , ’w ’ ) a s L i s t e A E c r i r e :

# f i c h i e r L i s t e e s t l e c u r s e u r dans n o t r e f i c h i e r . f i c h i e r L i s t e = c s v . D i c t W r i t e r ( L i s t e A E c r i r e , e n t e t e )

# On e c r i t l ’ e n t e t e :

f i c h i e r L i s t e . w r i t e h e a d e r ( )

# P u i s on e c r i t l ’ e n s e m b l e d e s l i g n e s f i c h i e r L i s t e . w r i t e r o w s ( d i c t i o n n a i r e )

(1) Faire fonctionner cette fonction pour recopier `a l’identique le fichierlacnoir.csv dans lac- noir2.csv

(2) Proposer une fonctionprofondeur espece superieur qui prend en arguments un nom de fichier `a lire, un nom de fichier `a ´ecrire, une esp`ece et un nombre et n’´ecrit dans le fichier que les profondeurs sup´erieurs au nombre entr´e en argument.

Attention, toutes les entr´ees lues dans un fichier sont du type string. On devra utiliser des conversions vers des entiers avant de comparer des nombres.

Exercice 5 : Rajouter une ligne. . . . Pour lire et ´ecrire `a la fois dans un fichier, on utilise la commande :

w i t h open( n o m f i c h i e r e n t r e , ” r+” ) Toute ligne ´ecrite se rajoute `a la fin.

(1) ´Ecrire une fonction moyennequi prend un fichier `a lire et rajoute, `a la derni`ere ligne dans le mˆeme format que le fichier, la moyenne du nombre de pollens par esp`ece.

(2) ´Ecrire une fonctionmediane qui prend un fichier `a lire et rajoute, `a la derni`ere ligne dans le mˆeme format que le fichier, la m´ediane du nombre de pollens par esp`ece.

(3)

BCPST Ecriture et lecture dans un fichier, Page 3 sur 3´ 2014-2015 Exercice 6 : Construire un protocole. . . . On se donne le fichier prefer climat coul.png qui donne les esp`eces en fonction des climats.

Proposer un protocole qui permet de dater les changements climatiques (en terme d’hygrom´etrie et de temp´eratures) et de d´eterminer le type de climat `a chaque fois.

Références

Documents relatifs

En utilisant un tableau de signes, étudier le signe de f 0 et donner le tableau de variations de la fonction f sur l’intervalle [0 ; 7].. Compléter le graphique donné par le tracé de

(4) Proposer une fonction profondeur espece superieur qui prend en arguments un nom de fichier ` a lire, un nom de fichier ` a ´ ecrire, une esp` ece et un nombre et n’´ ecrit dans

(1) ´ Ecrire la fonction est carree qui prend comme argument une matrice et renvoie le bool´ een True si celle-ci est une matrice carr´ ee et False sinon.. (2) ´ Ecrire la fonction

[r]

(2) ´ Ecrire la fonction lien genres serie(idSerie) qui prend en argument l’id d’une s´ erie et renvoie une liste contenant les id des genres de cette s´ erie. (3) ´ Ecrire

Ecrire une fonction ´ chercher qui prend en argument une liste et un nombre et renvoie l’indice de la premi` ere occurrence de ce nombre dans la liste s’il existe et

On se donne maintenant le fichier lacnoir.csv qui donne la quantit´ e de pollens de quelques esp` eces en fonction de la profondeur dans une tourbeb. On va manipuler automatiquement

Quand je fais ma potion magique, j’ai besoin de sucre, de café soluble, de sirop de grenadine, d’huile et d’une pincée de sable que je mets dans l’eau?. Pour que les