Найти - Пользователи
Полная версия: datetime.strptime не работает после QApplication
Начало » GUI » datetime.strptime не работает после QApplication
1
hdg700
Всем привет.

Возникла неожиданная непонятная высушивающая мозг проблемка.
В общем после создания QApplication перестает работать datetime.strptime.

Рабочий вариант:
print datetime.strptime('27/Apr/2011:14:00:40', '%d/%b/%Y:%H:%M:%S')
app = QtGui.QApplication(sys.argv)
Output:
2011-04-27 14:00:40
Нерабочий вариант:
app = QtGui.QApplication(sys.argv)
print datetime.strptime('27/Apr/2011:14:00:40', r'%d/%b/%Y:%H:%M:%S')
Output:
Traceback (most recent call last):
File "./LoginatorForm.py", line 135, in <module>
print datetime.strptime('27/Apr/2011:14:00:40', '%d/%b/%Y:%H:%M:%S')
File "/usr/lib/python2.6/_strptime.py", line 325, in _strptime
(data_string, format))
ValueError: time data '27/Apr/2011:14:00:40' does not match format '%d/%b/%Y:%H:%M:%S'
Кодировки строк, stdout, системы проверял. в обоих вариантах совпадают.
Может, QApplication что-то переопределяет или что-то где-то меняет? Может какой-то предобработчик строк, типа translator?
Андрей Светлов
конструктор QApplication устанавливает локаль — отсюда ваши проблемы.
hdg700
Андрей Светлов
конструктор QApplication устанавливает локаль — отсюда ваши проблемы.
А datetime.strptime() (точней, рег-экспы) не работает в той локали? Мне что, возвращать старую локаль что ли? Тогда qt отвалится, вероятно. Или строки преобразовывать как-то?
Андрей Светлов
1. strptime — это не regexp.
2. Рискну предположить, что в настройках у вас русская локаль. Она не знает английских названий месяцев
3. Можно перед вызовом strptime ставить английскую локаль, получать дату и вертать все взад. Медленно и неудобно.
4. Вспомнить, что есть пакет dateutil
from dateutil import parser
parser.parse('27/Apr/2011:14:00:40', fuzzy=True)
hdg700
Андрей Светлов
2. Рискну предположить, что в настройках у вас русская локаль. Она не знает английских названий месяцев
Точно! Очень похоже на правду :) Спасибо
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