0

Мне нужно считать из консоли строку в юникоде, которая имеет такой вид:

যুদ্ধ এবং শান্তি

প্রথম ভলিউম

অংশ এক

আমি

ভাল, আমার রাজকুমার জেনোয়া এবং লুক্কা Appanages তুলনায় আর নেই, উদাহরণস্বরূপ, Buonaparte পরিবার এর। না, আমি আপনাকে সাবধান করে দিচ্ছি যে যদি আপনি আমাকে বলেন না যে আমরা যুদ্ধ করেছি, যদি আপনি এখনও নিজেকে সমস্ত দুষ্টতা দূর করতে অনুমতি দেন, তাহলে এই খ্রীষ্টশত্রু (আমার শব্দ, আমি বিশ্বাস করি) - এর সব অত্যাচার - আমি আর আপনাকে জানি না আপনি আর আমার বন্ধু নন, আপনি আর নেই আমার কথা, আপনি বলছেন যে হিসাবেওয়েল, হ্যালো, হ্যালো আমি আপনাকে ভয় পাচ্ছি যে দেখতে 2, আপনি কি জানেন?

Как я могу это сделать? Питон записывает строку только до первого перевода каретки.

Twiss
  • 6,393
  • Не проще/лучше из файлика считывать? f = open('text.txt', encoding='utf-8') text = f.read print(text) – gil9red May 31 '18 at 14:06
  • а на русский перевести можно ? –  May 31 '18 at 14:11
  • Нет, из файлика нельзя читать. Язык не решает, поэтому взял рандомный. –  May 31 '18 at 14:49
  • @МаксимЛенский: в оригинале это на французском. Похоже на начало "Война и Мир" Толстого. – jfs May 31 '18 at 14:50
  • @jfs да я перевёл через yandex translate ...бенгальский вроде бы –  May 31 '18 at 14:52

2 Answers2

0
my_string =""
while True:
    try:
        my_string += input() 
        # или + my_string += input() + "\n", если нужны символы перевода строки
        # или raw_input() для python 2.x
    except KeyboardInterrupt:
        break
nick_gabpe
  • 3,943
0

В Питоне по умолчанию строки из стандартного ввода как Unicode приходят. Ничего специального не надо делать.

sys.stdin это файл, который предоставляет доступ к стандартному вводу. Вы можете использовать обычные методы для работы с файлом. К примеру, чтобы прочитать весь возможно многострочный ввод в одну строку:

text = sys.stdin.read()

Если текст непредставим в кодировке текущего окружения (к примеру, UnicodeDecodeErrror получаете), то в зависимости от конкретной задачи можно PYTHONIOENCODING переменную окружения настроить или поставить win-unicode-console пакет.

Схожий вопрос про sys.stdout: Как из Python вывести на Windows-консоль строку в Юникоде?

jfs
  • 52,361