Original file was TD1_dialogue.tex

Download Report

Transcript Original file was TD1_dialogue.tex

Dialoguer avec la machine
Fichiers : notion de chemin d’accès, lecture et écriture de type chaîne de caractères
depuis ou vers un fichier.
On va utiliser les fonctions suivantes dont vous pouvez obtenir l’aide.
help(os.getcwd)
help(os.getlogin)
help(os.listdir)
help(os.mkdir)
help(open)
help(os.chdir)
help(shutil.copytree)
help(os.rename)
1 Chemins d’accès.
1.1 Un exemple d’arborescence.
Q0. Allumer l’ordinateur, se connecter au réseau du lycée en utilisant ses identifiants.
Relier une clé USB au PC et repérer la lettre du lecteur utilisé à l’aide de l’explorateur
Windows. Toujours à l’aide de Windows, copier le dossier « Ressources TD5 » situé
sur le réseau à l’adresse « \\intranet5\Espaces partages\ Partages professeurs\ S.I.I.\ »
dans le dossier « Mes espaces\ Mes documents » (lecteur virtuel « P »). Lancer Pyzo.
Tout le travail demandé se fera dorénavant à l’aide de Pyzo, certains modules devant
être importés à l’occasion. Vous ne devez donc plus utiliser l’explorateur Windows.
Q1. A l’aide de Pyzo, verifier le login utilisé (getlogin()). Toujours avec Pyzo,
créér le dossier TD5 sur votre clé USB. ( chdir() & mkdir()).
Q2. Créér un script TD5.py, enregistré sur votre clé USB dans le dossier TD5.
Q3. A l’aide de Pyzo, copier le dossier « Ressources TD5 » présent dans le répertoire
« Mes espaces\ Mes documents » et le coller sur votre clé USB, dans le dossier TD5.
Pour cela, utiliser la fonction copytree du module Shutil.
A partir de maintenant, tout le travail est à effectuer sur les fichiers présents sur la clé
USB.
Q4. En utilisant les fonctions du module os, tracer l’arborescence de votre clé USB.
Q5. Quels sont les chemins absolus
a. Du fichier Texte1.txt ?
b. Du fichier album2track2.mp3 présent dans le dossier albumrock2 ?
1
Q6. En supposant que le répertoire courant est le répertoire jazz, quel est le chemin
relatif :
a. Du fichier album1track3.mp3 présent dans le dossier albumjazz1 ?
b. Du fichier Texte2.txt ?
c. Du répertoire des Films ?
2 Manipulation d’un fichier texte.
2.1 Rappels de cours.
Les opérations possibles sur les chaînes de caractères sont nombreuses et il ne s’agit
pas ici d’être exhaustif mais seulement d’en proposer certaines pour illustrer la lecture
et l’écriture dans un fichier.
Une donnée de type string est une suite de caractères encadrés par des ’ ou des ".
c1='ceci est une phrase.'
string
#On définit une variable de type
Le caractère spécial \ permet quelques subtilités supplémentaires.
- \n correspond au caractère saut de ligne.
-
\’ permet d’utiliser le caractère apostrophe.
-
\ suivi d’un blanc n’est pas pris en compte mais permet l’écriture d’une phrase
trop longue pour tenir sur une seule ligne.
c2:='C\'est une phrase\n sur plusieurs lignes\
et qui est longue.'
Une chose importante est la suivante : une chaîne de caractère est un objet non
modifiable (on dit parfois non mutable). On ne peut donc pas écrire une commande du
type c1[0]=’C’ pour modifier le caractère initial de c1. Si on veut faire cela, on peut
écrire
c1='Ceci est une phrase.'
écrase l'ancien
#On définit un nouvel objet qui
On dispose d’une opération pour “accoler » (on dit concaténer) deux chaînes (mais
attention, on ne fait que créer une nouvelle chaîne à partir des autres).
c1+' '+c2
c3=c1+c1
#Création et stockage d'une chaîne
c1=c1+' '+c2 #Permis... mais on perd c1
print(c1)
2
On dispose enfin d’une foule de méthodes pour créer une chaîne à partir d’une autre.
s='un exemple à suivre'
s.upper()
#Ceci ne modifie pas s
s.swapcase() #idem
s.title()
#idem
s.replace(ancien,nouveau) #idem
2.2 Lecture et écriture dans un fichier.
Pour ouvrir un fichier en lecture ou écriture, on utilise la commande open. Il ne faut
pas oublier de fermer le fichier après utilisation avec la commande close. Le plus sûr
est d’utiliser la syntaxe avec with (voir le cours).
Dans la suite, tout ce que l’on vous demande doit être fait avec Pyzo.
Q7. Ouvrir et afficher le fichier Texte1.txt du dossier Textes. Faire de même
avec le fichier Texte2.txt. Constater la necessité de remettre en forme ces deux
fichiers que l’on souhaite par ailleurs concaténer.
Q8. Réaliser l’opération de concaténation des deux fichiers précédents dans un
nouveau fichier nommé Texte3.txt. (Fonctions open, read, write…). Valider
l’opération en visualisant Texte3.txt.
Q9. Modifier Texte3.txt en lui ajoutant la ligne « Fin ». en fin de fichier,
précédée d’un saut de ligne. Valider l’opération par affichage de Texte3.txt.
Q10. Modifier Texte3.txt en lui ajoutant la ligne « Les Perses (extrait) » suivi de
deux sauts de ligne en début de fichier. Valider l’opération par affichage de
Texte3.txt.
Q11. Renommer le fichier Texte3.txt en Les Perses (extrait).txt.
Q12. Modifier Les Perses (extrait).txt en créant deux sauts de ligne à
chaque changement de locuteur (Xerxès. ou Le Chœur). (replace)
3