[Numpy-discussion] major bug in fromstring, ascii mode

Eric Firing efiring@hawaii....
Mon Jan 28 17:09:38 CST 2008


Charles R Harris wrote:

>     Reading the code in arraytypes.inc.src and multiarraymodule.c, it
>     appears that numpy is using strtol(str, &tailptr, 0) for the string to
>     integer conversion. Calling strtol with BASE == 0 enables the automatic
>     base detection from the prefix.
> 
>     However, as you say, scanf does not do this. Numpy appears to use fscanf
>     when reading data from files, so there is a discrepancy here:
> 
>      >>> from numpy import fromfile, fromstring
>      >>> f = open('test.dat', 'w')
>      >>> f.write("20:09:21")
>      >>> f.close()
> 
>      >>> fromfile('test.dat', dtype=int, sep=':')
>     array([20,  9, 21])
>      >>> fromstring('20:09:21', dtype=int, sep=':')
>     array([20,  0])
> 
> 
> I vote for fromstring working like fromfile.

I agree.  Can we get this change into 1.05?  I could make a patch if 
that would help.  Although I was wrong in calling this a "major bug", I 
think it is an inconsistency that should be removed.  The fromfile and 
fromstring docstrings could also state explicitly what the behavior is.

Eric


More information about the Numpy-discussion mailing list