En Tue, 24 Jul 2007 14:37:20 -0300, Miles <[EMAIL PROTECTED]> escribió:
> On 7/24/07, Robert Dailey wrote: >> I have a string in the following format: >> >> "00:00:25.886411" >> >> I would like to pass this string into the datetime.time() class and >> have it parse the string and use the values. However, the __init__() >> method only takes integers (which means I'd be forced to parse the >> string myself). Does anyone know of a way I can make it use the >> string? Thanks. > > timestr = "00:00:25.886411" > timesep = re.compile('[:.]') > datetime.time(*[int(i) for i in timesep.split(timestr)]) That's OK if one can always guarantee the 6 digits after the decimal point; else a bit more work is required: py> timestr = "00:00:25.886" py> h, m, s = timestr.split(":") py> if '.' in s: ... s, us = s.split('.') ... us = us[:6].ljust(6, '0') ... else: ... us = 0 ... py> datetime.time(int(h), int(m), int(s), int(us)) datetime.time(0, 0, 25, 886000) -- Gabriel Genellina -- http://mail.python.org/mailman/listinfo/python-list