Найти - Пользователи
Полная версия: datetime.strptime и разные версии пайтона
Начало » Python для новичков » datetime.strptime и разные версии пайтона
1
billy_bob
День добрый.
Возникла проблема. На Python 2.7 следующая строка dateId = datetime.strptime(probe, ‘%Y-%m-%d %H:%M:%S’) отрабатывает нормально.
В Python 2.6 вылетает с ошибкой:
File "F:\src\DBInterface.py", line 90, in getMatrix
dateId = datetime.strptime(probe, '%Y-%m-%d %H:%M:%S')
File "C:\Python26\lib\_strptime.py", line 328, in _strptime
data_string[found.end():])
ValueError: unconverted data remains: .00
Сидел сверял документацию http://docs.python.org/library/datetime.html#strftime-strptime-behavior и http://docs.python.org/release/2.6.6/library/datetime.html#strftime-strptime-behavior - различий не заметил. Может конечно проблема в ОС - 2.7 стоит в Ubuntu, а 2.6 в Win.
Есть идеи как отловить проблему?
Андрей Светлов
Осталось еще увидеть, какие строки probe проходят, а какие вызывают ошибку.
billy_bob
Андрей Светлов
Осталось еще увидеть, какие строки probe проходят, а какие вызывают ошибку.
Так в том то и дело, что в win(2.6) не проходит ни одна строка, а в lin(2.7) проходят все.
probe - строка вида ‘2009-01-15 10:31:00.00’
Андрей Светлов
Не беспокойтесь, на linux вашу строку не разберет даже python 2.4
Спецификация формата ‘&S’ предполагает целое число в качестве секунд, и никак иначе.
Нужного вам формата просто не существует.
billy_bob
billy_bob
Андрей Светлов
Осталось еще увидеть, какие строки probe проходят, а какие вызывают ошибку.
Так в том то и дело, что в win(2.6) не проходит ни одна строка, а в lin(2.7) проходят все.
probe - строка вида ‘2009-01-15 10:31:00.00’
хм. Странно. Только сейчас заметил. probes получается путем извлечения из базы даты и преобразования её в строку str(date)
Так вот в lin строка имеет вид ‘2009-01-15 10:31:00’, а в win 2009-01-15 10:31:00.00'
billy_bob
Андрей Светлов
Не беспокойтесь, на linux вашу строку не разберет даже python 2.4
Спецификация формата ‘&S’ предполагает целое число в качестве секунд, и никак иначе.
Нужного вам формата просто не существует.
спасибо большое, исправил str(date) на date.strftime('%Y-%m-%d %H:%M:%S'). Все заработало.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB