Terminale Spécialité ISN
TP 3: PYTHON 3
– quelques fonctionnalités et bibliothèques -
I- Travailler avec un fichier externe :
Il peut être intéressant dans certains projets d’aller chercher les informations à utiliser
dans un fichier externe (résultats de mesures électriques, fichier texte à modifier dans les
applications de cryptographie …)
Pour effectuer des opérations sur des fichiers externes, Python 3 possède des fonctions
permettant notamment de créer, d’ouvrir, de compléter et de fermer un fichier texte.
Un exemple (exemple1.py):
Le programme suivant permet le cryptage en ROT13 d’un fichier texte : monfichier.txt
(que l’on crée en début de programme). Le texte codé est placé dans le fichier
monfichier_code.txt
Pour plus de précisions sur les fonctions utilisées et leurs paramètres, vous pourrez mener
des recherches sur la toile (exemple :
http://python.developpez.com/cours/apprendre-python3/?page=page_11#L11-E
http://fr.wikibooks.org/wiki/Apprendre_%C3%A0_programmer_avec_Python/Les_fichier
s )
1- Qu’est-ce que le codage ROT13 ?
1 #crée un fichier monfichier sur le repertoire courant, code en rot13 et lit le fichier codé
2 # affiche le repertoire courant
3 import os
4 rep_cour = os.getcwd()
5 print (rep_cour)
6
7 i=0
8 resultat=""
9
10 # efface le contenu du fichier monfichier
11 efface= open("monfichier", "w")
12 text = ""
13 efface.write(text)
14 efface.close()
15
16 # crée et rempli le fichier monfichier
17 Fichier = open('monfichier','a')
18 Fichier.write("je ne suis plus en vacances ! à bientôt")
19 Fichier.close()
20
21 #lit et affiche le contenu de try
22 lit_fichier = open('monfichier', 'r')
23 t = lit_fichier.read()
24 lit_fichier.close()
25
26 #code chaque caractère lu en ROT13
27 while (i<len(t)):
28 x=t[i]
29 rang=ord(x)
30 if ((rang>=97)and(rang<=122)):
31 rang=(((rang-97)+13)%26)+97
32 r=chr(rang)
33 else:
34 r=chr(32)
35 resultat=resultat+r
36 i=i+1
37
38 # crée et rempli le fichier try
39 Fichier = open('monfichier_code','a')
40 Fichier.write(resultat)
41 Fichier.close()
42 print(resultat)