Terminale Spécialité ISN
TP 4: PYTHON 3
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 :
1- Qu’est-ce que le codage ROT13 ?
- Rechercher le prototype de la fonction « open ()»
- Tester le programme proposé en utilisant un fichier texte de votre choix.(vous modifierez le code en conséquence).
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)