Python русские символы ввод

Python + кириллица?

Ситуация: есть консольное приложение на Python (версия 2.7). В ходе работы приложение должно выводить (считывать не нужно, уж не знаю, важно ли это) данные в консоль, в том числе текст на русском языке. Проблема

def __str__(self): return "%s |(%s)|" % (self.name, self.id)

вот self.name — строка, в которой могут быть русские символы.

Без каких либо преобразований вообще — вылетает ошибка:

UnicodeEncodeError: ‘ascii’ codec can’t encode characters in position 0-4: ordinal not in range(128)

def __str__(self): return "%s |(%s)|" % (repr(self.name.encode("UTF-8")), self.id)

то исключение не вылетает, но на консоль выводятся не кириллические символы, а их байтовая репрезентация.

‘\xd0\x95\xd0\xbb\xd0\xb5\xd0\xbd\xd0\xb0 S.’ |(157927927)|

Как решать такую проблему? С латиницей проблем нет, тот же код выводит не байтовую репрезентацию, а нормальные латинские символы символы.

Что кстати можно почитать по этому поводу?

#!/usr/bin/env python # -*- coding: utf-8 -*- class Foo(object): def __init__(self, name): self.name = name def __str__(self): return 'str: %s' % self.name def __unicode__(self): return 'uni: %s' % self.name.decode('utf-8') def __repr__(self): return 'repr: %s' % self.name a = 'Елена S' b = Foo(a) print(str(b)) print(unicode(b)) print(repr(b)) 

Вы правы, такой код действительно работает, вот только я забыл уточнить, что информация и приходит в «байтовой репрезентации» от источника (twitter json).

Дорогой автор !
я долго размышлял в чём дело!
пока не прочел вашу статью
versin python 2
-*- coding: utf-8 -*-
слово=»слова»
print ‘слово’
увы он не поддерживал модулей поддержки языков !

Читайте также:  Alphabetical order in python

а проблема моя была в том что работая с программой eclipse mars все слова выводимые программой он судорожно показывал обнародовал как ошибка и выдавал № код ячейки памяти в котором хранился этот непонятный интерпритатору обьект .
помогло вот что!
sudo apt-get install python 3
и естественно смена компилятора python 2 на более позднюю версию !

@python_2_unicode_compatible class AuthorModel(models.Model):

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

Как сделать что бы на экран вывелись повторные значения, которые дальше в столбце?

Источник

VS + Python + кириллица, ошибка в консоли, как решить?

Всем привет!
Ради интереса поставил Python 3.5.1 -(решил посмотреть что это за язык, много слышал про него)
Так вот, когда выводишь программу в консоли у меня возникает ошибка, как я понял из-за русского языка и из-за кодировки. Когда пишешь на инглише все норм — конечно можно писать все на нем! и забить на проблему. Но, все-таки мы же русские ) и хочется сообщения писать на своем родном языке.
Погуглил данную тему, у многих людей на многих языках программирования возникает проблема именно из-за русских букв, все решают данную проблему по разному.

ccfa8746d7a742d1bf77066a09875e07.jpg

Господа! вопрос как решить мою проблему ?
Спасибо.

Что удалось нарыть.
А.
если поставить в начале кода такую конструкцию:
# -*- coding: cp1251 -*-
То начинает все работать, как я понял это принудительное перекодирование файла — (буду благодарен если точнее объясните господа)

Б.
(как я понял)
Файл нужно создавать в нужной кодировке utf8
По умолчанию Visual Studio создает файлы в другой кодировки, надо понять где это поменять / проверить / потестить.

Да, все верно! в Visual Studio идем Файл — Дополнительные параметры сохранения
и ставим так(скрин) все начинает работать..
358d87fdaff645d1b289cdadb3266239.jpg8bf2e7537e0e4572aedcc5395f625dd5.jpg

Читайте также:  Java debugging unit tests

67110686d7914ba5ac982a8e4d684502.jpg

Но это не спасает от такой записи. (скрин) вопрос остается что делать ?

34d1f4ac38fd47888e93d3d57f4cd19f.jpg

Ради теста, напрямую запустил консоль python — а ввел там нужную команду все норм отобразилось!
Да что не так с этой чертовой VS ?

Источник

Python русские символы ввод

Что нас ждет в Portal for ArcGIS 10.3

Решение проблемы с .NET при установке ArcGIS на Windows 8.1 (Windows 10)

Также может быть интересно

Новый бесплатный онлайн-курс MOOC «GIS for Climate Action», 25 октября – 6 декабря 2023

Новые инструменты Deep Learning в ArcGIS 3.1

10 самых интересных новшеств в ArcGIS Pro 3.1

Солнечная энергетика. Возможности ГИС

  • ArcGIS
  • ArcGIS Enterprise | Server
  • ArcGIS Online
  • ArcGIS Pro | ArcMap
  • ГИС для бизнеса
  • Данные в ArcGIS
  • Дистанционное зондирование Земли (ДЗЗ)
  • Картография и дизайн
  • Образование и наука
  • Приложения
  • Сельское хозяйство
  • Техподдержка

Доступные геоданные на Узбекистан

Тезисы докладов по гидрогеологической тематике с применением ArcGIS

Эффекты веб-картографии

Москва и окрестности начала 1930-х

Рубрики
  • ArcGIS (174)
  • ArcGIS Enterprise | Server (173)
  • ArcGIS Online (157)
  • ArcGIS Pro | ArcMap (180)
  • Геология (14)
  • ГИС для бизнеса (44)
  • Данные в ArcGIS (101)
  • Дистанционное зондирование Земли (ДЗЗ) (50)
  • Инженерные коммуникации (28)
  • Картография и дизайн (77)
  • Образование и наука (85)
  • Приложения (153)
  • Разработка (56)
  • Сельское хозяйство (6)
  • События (50)
  • Техподдержка (77)

Источник

Как заставить выводить русский текст Python?

Что нужно сделать что-бы в консоль выводилась кириллица?

Для англ. алфавита — работает, а для русского — нет.

__author__ = 'getlucky' # -*- coding: utf-8 -*- def cesarMethod(message): output = [] alphabet = 'abcdefghijklmnopqrstuvwxyz'#'абвгдеёжзийклмнопрстуфхцчшщъыьэюя' steps = int(raw_input('Введите Ваш ключ: ')) for i in message: if i == ' ': output.append(' ') else: pos = alphabet.index(i) + steps if pos >= 25: pos -= 26 output.append(alphabet[pos].decode('utf8')) print 'Зашифрованное сообщение: ', ''.join(output) message = raw_input('Введите Ваше сообщение: ').lower() cesarMethod(message)

Оценить 2 комментария

Читайте также:  Close code in java

winordie

winordie

# -*- coding: utf-8 -*- message = 'ывпавыапавыпвпав' for i in message: print(i)
message = u'ывпавыапавыпвпав' for i in message: print(i)

разница всего в одном символе

# -*- coding: utf-8 -*- def cesarMethod(message): output = [] # alphabet = 'abcdefghijklmnopqrstuvwxyz'#'абвгдеёжзийклмнопрстуфхцчшщъыьэюя' alphabet = u'абвгдеёжзийклмнопрстуфхцчшщъыьэюя' # steps = int(raw_input('Введите Ваш ключ: ')) steps = 2 for i in message.decode('utf8'): if i == ' ': output.append(' ') else: pos = alphabet.index(i) + steps if pos >= 25: pos -= 26 output.append(alphabet[pos]) print 'Зашифрованное сообщение: ', ''.join(output) # message = raw_input('Введите Ваше сообщение: ').lower() message = 'специальнодлятостера' cesarMethod(message)

Источник

Как заставить выводить русский текст Python?

Что нужно сделать что-бы в консоль выводилась кириллица?

Для англ. алфавита — работает, а для русского — нет.

__author__ = 'getlucky' # -*- coding: utf-8 -*- def cesarMethod(message): output = [] alphabet = 'abcdefghijklmnopqrstuvwxyz'#'абвгдеёжзийклмнопрстуфхцчшщъыьэюя' steps = int(raw_input('Введите Ваш ключ: ')) for i in message: if i == ' ': output.append(' ') else: pos = alphabet.index(i) + steps if pos >= 25: pos -= 26 output.append(alphabet[pos].decode('utf8')) print 'Зашифрованное сообщение: ', ''.join(output) message = raw_input('Введите Ваше сообщение: ').lower() cesarMethod(message)

Оценить 2 комментария

winordie

winordie

# -*- coding: utf-8 -*- message = 'ывпавыапавыпвпав' for i in message: print(i)
message = u'ывпавыапавыпвпав' for i in message: print(i)

разница всего в одном символе

# -*- coding: utf-8 -*- def cesarMethod(message): output = [] # alphabet = 'abcdefghijklmnopqrstuvwxyz'#'абвгдеёжзийклмнопрстуфхцчшщъыьэюя' alphabet = u'абвгдеёжзийклмнопрстуфхцчшщъыьэюя' # steps = int(raw_input('Введите Ваш ключ: ')) steps = 2 for i in message.decode('utf8'): if i == ' ': output.append(' ') else: pos = alphabet.index(i) + steps if pos >= 25: pos -= 26 output.append(alphabet[pos]) print 'Зашифрованное сообщение: ', ''.join(output) # message = raw_input('Введите Ваше сообщение: ').lower() message = 'специальнодлятостера' cesarMethod(message)

Источник

Оцените статью