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

Reply via email to