float from numbers in text file

davidgp davidvanijzendoorn at gmail.com
Mon Jun 21 19:26:28 EDT 2010


On Jun 21, 4:18 pm, Stephen Hansen <me+list/pyt... at ixokai.io> wrote:
> On 6/21/10 4:03 PM, davidgp wrote:
>
>
>
> > sorry :)
>
> Okay, I should be more specific: include full tracebacks and some real
> copied and pasted code :) Don't throw away nice debugging information
> Python gave you, feed it to us.
>
> > invalid literal for long() with base 10: '51.9449702'
> > this is the error i'm getting when i use long(line)
>
> Yes, "51.9449702" is an invalid literal for long. Long produces
> integers: no decimal points.
>
> However:
>
> > and this is the error for float(line)
> > invalid literal for float(): not found
>
> Its a perfectly valid literal for float:>>> float('51.9449702')
>
> 51.9449702
>
> So if you're getting that error, you're doing something else that you're
> not telling us.
>
> I suspect, somehow (I'd have to see your code to be sure), that your
> "line" in the second case doesn't have that number. Try it in the
> interactive interpreter. float('51.9449702') works fine. I suspect your
> "line", for whatever reason, contains the string "not found", as in:
>
> >>> float('not found')
>
> Traceback (most recent call last):
>   File "<stdin>", line 1, in <module>
> ValueError: invalid literal for float(): not found
>
> --
>
>    Stephen Hansen
>    ... Also: Ixokai
>    ... Mail: me+list/python (AT) ixokai (DOT) io
>    ... Blog:http://meh.ixokai.io/
>
>  signature.asc
> < 1KViewDownload

ah, i see :P
float("45.34") or whatever does work fine, but the problem is that i'm
reading it from a text file. so somehow it is not a real string or
whatever..
here's a part of the code:
f = open ('/home/david/out.txt', 'r')

for line in f:
if tel ==6:
			buf = line.replace('\n', '')
			lat = float(buf)
		if tel ==7:
			buf = line.replace('\n', '')
			lng = float(buf)

basically it goes wrong in the last part where i try to convert the
line to a float..
i'm 100% sure that it's getting a number, not a text string

cheers!




More information about the Python-list mailing list