This repository has been archived by the owner on Feb 4, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
interpreteurtxt.py
94 lines (80 loc) · 2.77 KB
/
interpreteurtxt.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
# -*- coding: utf-8 -*-
"""
Created on Thu Aug 26 20:07:48 2021
@author: klq93
"""
### Ce fichier contient les fonctions necessaires à la lecture de fichiers textes
#T: texte --- R: reel --- N: entier --- B: booleen --- #: commentaire
def Decapsule(argument):
"""
Description : Permet de convertir une ligne de texte avec la bonne convention en une variable avec son type equivalent. Elle est necessaire au bon fonctionnement de LireSettings().
---
variables d'entree :
argument : Ligne de texte qui sera convertie dans le bon type.
---
Variables renvoyees :
Argument dans son bon type.
"""
if argument[0] == "T": #texte
return(argument.split(":")[1][0:-1])
if argument[0] == "R": #reel
return(float(argument.split(":")[1]))
if argument[0] == "N": #entier
return(int(argument.split(":")[1]))
if argument[0] == "B": #booleen
return(argument.split(":")[1][0:-1] == "True")
if argument[0] == "#": #commentaire
return [False]
def LireSettings(Fichier):
"""
Description : Fait la transcription d'un fichier texte en un doctionnaire.
---
Variables d'entree :
Fichier : texte correspondant au nom du fichier.
---
Variables renvoyees :
Dictionnaire contenant les variables introduites par le fichier texte.
"""
Settings={} # dictionnaire qui sera renvoye
fichier=open(Fichier,'r') # ouverture du fichier
for i in fichier: # conversion et ajout dans le dictionnaire de chacune des lignes du fichier texte
if Decapsule(i) != [False]:
Settings.update({i.split(":")[0][2:-1] : Decapsule(i)})
fichier.close()
return Settings
def Typeur(val):
"""
Description : Cree la cle necessaire à l'ecriture d'un dictionnaire dans un fichier texte.
---
Variables d'entree :
val : variable au sens de python à convertir.
---
Variables renvoyees :
Le texte à la convention de lecture.
"""
if type(val) == str:
return "T"
if type(val) == bool:
return "B"
if type(val) == float:
return "R"
if type(val) == list:
return "L"
if type(val) == int:
return "N"
def PushSettings(Dictionnaire,Fichier):
"""
Description : Cree un fichier texte à partir d'un dictionnaire.
---
Variables d'entree :
Dictionnaire : Le dictionnaire à convertir.
Fichier : Le nom du fichier texte qui sera cree.
---
Variables renvoyees :
Le fichier texte.
"""
fichier = open(Fichier,"w")
for cle, valeur in Dictionnaire.items():
fichier.write(Typeur(valeur)+"-"+cle+" :"+str(valeur)+"\n")
fichier.close()
Param=LireSettings("settings.txt")