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 : Sélectionner tout - Visualiser dans une fenêtre à part
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:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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"
soucis python renvoi
TypeError: 'type_a' object does not support item assignment

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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"
avec ce code je perd les espaces
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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"
alors oui une solution serait un calcul de longueur et de recompléter par des blancs mais existe til une autre solution ?