Copier fichier dans tableau 2D

Fermé
jim2k Messages postés 21 Date d'inscription samedi 13 juillet 2013 Statut Membre Dernière intervention 9 septembre 2019 - Modifié par jim2k le 24/06/2014 à 06:51
jim2k Messages postés 21 Date d'inscription samedi 13 juillet 2013 Statut Membre Dernière intervention 9 septembre 2019 - 25 juin 2014 à 03:18
Bonjour,

j'apprends aujourd'hui le python et j'essaye de lire un fichier en conservant chaque ligne mais je n'y arrive pas.
J'ai des connaissances en C donc j'essaye de conserver l'adresse du premier caractère de chaque ligne dans un taleau à 2 dimensions ( si c'est plus clair ... )

Voici mon code :
 
#!/usr/bin/python3.4

import sys

name = sys.argv[1]
f = open(name, 'r')

i = 0
line = []
while 1:
line[i] = f.readline()
if not line:
break
i += 1;

while line:
print(line)

f.close()
Si quelqu'un peut m'éclairer !
Je pense que je me complique la vie du fait que je me base sur le C.

A voir également:

2 réponses

ElementW Messages postés 4816 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 1 228
24 juin 2014 à 11:16
'lut, "Je pense que je me complique la vie du fait que je me base sur le C. "
Oui, car là où en C les pointeurs se retrouvent partout, particulièrement pour les chaines de caractère, Python est un langage de bien plus haut niveau qui fait donc abstraction de tout ça: tout est passé par référence d'objet (cet article en anglais a de magnifiques dessins dignes de mspaint pour expliquer).
f.readline()
lit une ligne, avance le curseur du fichier jusqu'à la prochaine, et la renvoie. Les strings sont immuables en Python (imagine un
const char*
), et un objet qui fait référence à cette zone mémoire est stocké dans ton tableau. À partir de là, ta liste
line
contient des objets pointant (en interne) sur le contenu en mémoire, ligne par ligne.

while line:
Ne marchera pas, tu n'as pas mis d'indice que tu augmentes, aussi Python possède une structure plus facile vu que
line
est une liste:
for l in line:
    print(l)
0
jim2k Messages postés 21 Date d'inscription samedi 13 juillet 2013 Statut Membre Dernière intervention 9 septembre 2019
25 juin 2014 à 03:18
ok merci nickel ! :)
0