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 _______________________________________________ Numpy-discussion mailing list Numpy-discussion@scipy.org http://projects.scipy.org/mailman/listinfo/numpy-discussion