[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