bonjour
J'ai un fichier que je lis sans problème. Se fichier est un fichier dit plat .
Je lis le fichier et charge un objet
Code:
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 class type_a(object): ''' Typea ''' def __init__(self): self.FUTYLIGN = None self.FUNOMPAR = None self.FUCODPAR = None self.FUTSUPPO = None self.FUTd = None def Lecture_fichier(self,lnsrc): self.FUTYLIGN = lnsrc[0:3] self.FUNOMPAR = lnsrc[3:18] self.FUCODPAR = lnsrc[18:24] self.FUTSUPPO = lnsrc[24:75] self.FUTd = lnsrc[76:8500] def __str__(self): resultat=self.FUTYLIGN resultat+=self.FUNOMPAR resultat+=self.FUCODPAR resultat+=self.FUTSUPPO resultat+= self.FUTd Le_type_a = type_a() # Base Application if __name__ == '__main__': with open("mon_fichier", 'r') as fichier: # traitement du fichier for ligne in fichier:
soucis python renvoiCode:
1
2
3
4
5
6 if(ligne[0:3] == "aaa"): Le_type_a.Lecture_fichier(ligne) if(Le_type_a.FUCODPAR == '0001' ): Le_type_a.FUTSUPPO ="toto" ligne[76:1000]= "okapi"
TypeError: 'type_a' object does not support item assignment
avec ce code je perd les espacesCode:
1
2
3
4
5
6 if(ligne[0:3] == "aaa"): Le_type_a.Lecture_fichier(ligne) if(Le_type_a.FUCODPAR == '0001' ): Le_type_a.FUTSUPPO ="toto" ligne[24:75]= "toto"
alors oui une solution serait un calcul de longueur et de recompléter par des blancs mais existe til une autre solution ?Code:
1
2
3
4
5 if(ligne[0:3] == "aaa"): Le_type_a.Lecture_fichier(ligne) if(Le_type_a.FUCODPAR == '0001' ): self.FUTSUPPO = "toto"