how to read specific number of floats from file in python?
Posted
by sahel
on Stack Overflow
See other posts from Stack Overflow
or by sahel
Published on 2010-04-20T23:04:38Z
Indexed on
2010/04/20
23:43 UTC
Read the original article
Hit count: 361
I am reading a text file from the web. The file starts with some header lines containing the number of data points, followed the actual vertices (3 coordinates each). The file looks like:
# comment
HEADER TEXT
POINTS 6 float
1.1 2.2 3.3 4.4 5.5 6.6 7.7 8.8 9.9
1.1 2.2 3.3 4.4 5.5 6.6 7.7 8.8 9.9
POLYGONS
the line starting with the word POINTS
contains the number of vertices (in this case we have 3 vertices per line, but that could change)
This is how I am reading it right now:
ur=urlopen("http://.../file.dat")
j=0
contents = []
while 1:
line = ur.readline()
if not line:
break
else:
line=line.lower()
if 'points' in line :
myline=line.strip()
word=myline.split()
node_number=int(word[1])
node_type=word[2]
while 'polygons' not in line :
line = ur.readline()
line=line.lower()
myline=line.split()
i=0
while(i<len(myline)):
contents[j]=float(myline[i])
i=i+1
j=j+1
How can I read a specified number of floats instead of reading line by line as strings and converting to floating numbers?
Instead of ur.readline() I want to read the specified number of elements in the file
Any suggestion is welcome..
© Stack Overflow or respective owner