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
| import re
filenames = 'piktux2.txt'
fileModif = open('zz piktux2 modifie.txt','w')
fich_in = open(filenames, 'r')
#boucle les lignes
for line in fich_in :
#split la ligne en enlevant les espaces
info = re.split("\s*", line)
#si le nom est START, stoque les valeurs pour pouvoir les soustraire
if info[0] == "START" :
infoPrec = info
#si le nopm commence par BEND, modifie la ligne
elif info[0][:4] == "BEND":
print '\n-----------------------------------------------------------'
print 'ligne: ',repr(line),'\n'
#boucle les 3 chiffres
for i in range(1,4):
#la nouvelle valeur
newVal = str(float(info[i]) - float(infoPrec[i]))
print 'col='+str(i)+', infoPrec['+str(i)+'] = '+infoPrec[i]+', info['+str(i)+'] =',info[i],'remplacé par',info[i],'-',infoPrec[i],'=',newVal
print line[:-1]
line = line.replace(info[i], newVal, 1)
print line[:-1],' modifiée'
#stoque les valeurs pour le prochain BEND
infoPrec = info
#ecrit la ligne dans le fichier
if line[0:6] != "/SPOOL" and line[0:14] != "WALL-THICKNESS" and line[0:6] != "FINISH" and line[0:10] != "/END-SPOOL":
fileModif.write(line)
fileModif.close()
fich_in.close()
print '--- fin du programme -' |
Partager