chewarer
@chewarer

Как преобразовать кодировку в Python 2.7?

Понимаю что вопрос глупый и пожалуй самый распространенный, тем не менее имею проблему.
В Python консоли пишу следующее:
d = {'hours':50}
n = '{hours:02} часов'.format(**d)
n
#'50 \xd1\x87\xd0\xb0\xd1\x81\xd0\xbe\xd0\xb2'
print n
#50 часов
n.decode('utf-8', 'ignore')
#u'50 \u0447\u0430\u0441\u043e\u0432'

Как преобразовать это в человеческий вид?

Опишу на всякий случай контекст проблемы. Имею время в формате datetime.timedelta, хочу преобразовать его в строку типа "1 день 5 часов 45минут".
  • Вопрос задан
  • 336 просмотров
Пригласить эксперта
Ответы на вопрос 2
sim3x
@sim3x
u'{hours:02} часов'

In [1]: d = {'hours':50}

In [2]: n = '{hours:02} часов'.format(**d)

In [3]: n
Out[3]: '50 \xd1\x87\xd0\xb0\xd1\x81\xd0\xbe\xd0\xb2'

In [4]: n = u'{hours:02} часов'.format(**d)

In [5]: n
Out[5]: u'50 \u0447\u0430\u0441\u043e\u0432'

In [6]: print(n)
50 часов
Ответ написан
Astrohas
@Astrohas
Python/Django Developer
попробуйте через sys.setdefaultencoding('utf8')
Тыц
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы