Pourquoi "print" est OK et ".write()" KO ?
Bonsoir,
j' écris un programme tout simple qui lit et réecrit un fichier texte, ignorant tout ce qui précède le 1er espace de chaque ligne. Facile !!
Lorsque je "print" le résultat, cà marche !
Je remplace mon "print" par le ".write()", et voilà le message d' erreur, L' index en question part en Nirvana, pourquoi ???
(Est-ce que le seek(0) en début serait la cause ???)
MERCI BCP PAR AVANCE !!
Message d' erreur :
Code:
1 2 3 4
| Traceback (most recent call last):
File "labase.py", line 9, in <modul
while line[i] != " " :
IndexError: string index out of range |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| f=open('asc.txt','r+') # ouverture fichier lecture-ecriture
f.seek(0)
for line in f :
i = 0
j = 0
while line[i] != " " :
i = i + 1 # localise le premier espace ""
j = i + 1 # et je lis le reste de la ligne
reste = ""
lc = len(line)
while j < lc :
reste = reste + line[j]
j = j + 1
f.write(reste)
f.close() |
et voici par ex. le fichier texte à lire :
Code:
1 2
| N100 X1.73 Y-5.43 Z118.66
N125 Z111.185 |