Copier fichier dans tableau 2D
jim2k
Messages postés
21
Date d'inscription
Statut
Membre
Dernière intervention
-
jim2k Messages postés 21 Date d'inscription Statut Membre Dernière intervention -
jim2k Messages postés 21 Date d'inscription Statut Membre Dernière intervention -
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 :
Je pense que je me complique la vie du fait que je me base sur le C.
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 :
Si quelqu'un peut m'éclairer !
#!/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()
Je pense que je me complique la vie du fait que je me base sur le C.
A voir également:
- Copier fichier dans tableau 2D
- Fichier bin - Guide
- Tableau word - Guide
- Fichier epub - Guide
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
2 réponses
'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).
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
linecontient 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
lineest une liste:
for l in line: print(l)