Удивление, если у кого-то есть обходное решение для странной ошибки, я получаю с datetime.datetime.strptime
.datetime.strptime неожиданное поведение - проблема с локалью
ПРИМЕЧАНИЕ: не является дубликатом проблемы с часовым поясом.
Я получаю это исключение (обрезанный запатентованные части):
Traceback (most recent call last):
...
File "/usr/local/lib/python2.7/_strptime.py", line 325, in _strptime
(data_string, format))
ValueError: time data 'Jul 10 12:45:52 2016' does not match format '%b %d %H:%M:%S %Y'
Это исключение происходит во время выполнения на реальных данных. Но когда я тестирую его локально с теми же данными, он работает ?!
Вы даже можете проверить себя, сама по себе исключение не имеет особого смысла, так как я на самом деле может использовать этот формат в соответствии с форматом DATETIME:
>>> from datetime import datetime
>>> s = 'Jul 10 12:45:52 2016'
>>> p = '%b %d %H:%M:%S %Y'
>>> d = datetime.strptime(s, p)
>>> print d
2016-07-10 12:45:52
На самом деле не уверен, что здесь происходит. Любая помощь оценивается. (Python 2.7.11)
'% b' является чувствительным к региону ... являются локалями, отличающимися ...? – deceze
@deceze Какую элегантную команду python можно использовать для получения локали? –
См. Примечание (1) на странице https://docs.python.org/2/library/datetime.html#strftime-and-strptime-behavior: 'locale.getlocale()'. – deceze