2012-07-12 3 views
0

J'essaie d'obtenir des données à partir du fichier et les stocker dans le vecteur, mais j'ai trouvé quelques difficultés. est comment mon script Python ressemble à ceci:Python getline() question

from numpy import array, append 
from linecache import getline 
print 'read file' 
t = [] 
f = open('file.dat', 'r') 
b = getline('f',4).split() 
t.append(int(b[0])) 

Après terme j'obtenir des informations:

t.append(int(b[0])) 
IndexError: list index out of range 

Quand je vérifie b semble être vide:

>>b 
[] 

Sur la ligne 4 dans fichier.dat j'ai le chiffre 4, c'est seulement une entrée dans cette ligne. Il ya quelqu'un comment savoir ce qui ne va pas? J'utilise la version 2.7 Python.

+0

Pouvez-vous montrer vos données? – dangonfast

Répondre

1

Je crois que votre erreur est que vous oubliez d'utiliser linecache.getline vous devez faire:

from numpy import array, append 
from linecache import getline 
print 'read file' 
t = [] 
b = getline('file.data',4).split() 
t.append(int(b[0])) 
0

Le premier paramètre pour getline est le nom du fichier.

b = getline('file.data',4).split() 
+0

Merci beaucoup pour résoudre le problème. – user1521973