#1 Le 07/06/2008, à 02:12
- Pistolero
Python - bizarrerie chargement fichier volumineux
Bonjour a tous,
j'ai une bizarrerie sur python et je ne vois pas pourquoi et comment gerer ca. Quelques mots sur le contexte, je charges en memoire (dans une variable python) un fichier volumineux ~5Go (liste de donnee provenant d'une matrice de 28805x28805 elements). Bref, mon probleme est dans le chargement du fichier dans la variable, par exemple si j'execute ce code:
n = 100000000
data = [0.0] * n
val = 1.25e+02
for i in xrange(n):
data[n] = val
quand j'alloue de la memoire pour la variable, j'utilise ~ 740 Mo, et lorsque la boucle tourne pour remplir la variable data la mémoire reste constante car allouer au debut. Maintenant si j'execute ceci:
from string import atof
n = 100000000
data = [0.0] * n
val = '1.25e+02'
for i in xrange(n):
data[n] = atof(val)
la memoire utiliser au depart est de 740 Mo a l'allocation puis ne cesse d'augmenter pendant ma boucle pour atteindre les 3.9 Go. Je penses que le probleme est que atof me retourne un flottant different du flottant utilise en allocation... qu'elle est le probleme... comment convertir ma chaine de caractere en flottant 32 bit.
Une suggestion ?
Merci
Desole pour les accents, je suis esclave d'un qwerty.
Hors ligne
#2 Le 25/06/2008, à 19:36
- Pistolero
Re : Python - bizarrerie chargement fichier volumineux
Bon, je vais me repondre a moi meme
pour la suite de l'histoire c'est ici:
http://www.developpez.net/forums/showth … p?t=564976
++
Desole pour les accents, je suis esclave d'un qwerty.
Hors ligne