[Numpy-discussion] major bug in fromstring, ascii mode
Mon Jan 28 19:26:41 CST 2008
Charles R Harris wrote:
> On Jan 28, 2008 4:09 PM, Eric Firing <email@example.com
> <mailto:firstname.lastname@example.org>> wrote:
> 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
> > 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.
> Your best bet is to file a ticket. I you don't, I will, but I'll wait a bit.
It is ticket #650.
More information about the Numpy-discussion