LINUX.ORG.RU

Проблема с запуском кода на python в elementaryOS

 


0

1

Сегодня установил в первые для себя линукс, дистрибутив elementary. Вроде поковырялся, поделал, и решил запустить код на python. С горем по полам я добавил две строки:#!/usr/bin/python и

-- coding: utf-8 --. В итоге на код:

loveOS = «elementary» print("Моя любимая операционная система - ", loveOS)

он выдает следующее: (’\xd0\x9c\xd0\xbe\xd1\x8f \xd0\xbb\xd1\x8e\xd0\xb1\xd0\xb8\xd0\xbc\xd0\xb0\xd1\x8f \xd0\xbe\xd0\xbf\xd0\xb5\xd1\x80\xd0\xb0\xd1\x86\xd0\xb8\xd0\xbe\xd0\xbd\xd0\xbd\xd0\xb0\xd1\x8f \xd1\x81\xd0\xb8\xd1\x81\xd1\x82\xd0\xb5\xd0\xbc\xd0\xb0 - ’, ‘elementary’)

Как я понял, дело в кодировке. Но как исправить понятия не имею. help pls

>>> a = "жопа"
>>> b = u"жопа"
>>> type(a), type(b)
(<type 'str'>, <type 'unicode'>)

Но как исправить

Использовать unicode строки или трёшку.

Или

from __future__ import print_function
:
>>> b = u"жопа"
>>> print(b,b,b)
(u'\u0436\u043e\u043f\u0430', u'\u0436\u043e\u043f\u0430', u'\u0436\u043e\u043f\u0430')
>>> print b,b,b
жопа жопа жопа
>>> from __future__ import print_function
>>> print(b,b,b)
жопа жопа жопа

thunar ★★★★★
()
Последнее исправление: thunar (всего исправлений: 1)

Не пиши на python 2 версии, очевидно же.

evgeny_aa ★★☆
()

Лучше забыть про второй питон (тем более, когда его поддержку дропнули), пиши на третьем.

То есть, вместо #!/usr/bin/python используй #/usr/bin/python3, а лучше #!/usr/bin/env python3.

При этом можно выкинуть -- coding: utf-8 --

zezic ★★★★
()

У тебя прямо под формой отправки сообщения ссылки Markdown LORCODE. Нет, не хотим. Хотим жрать говно.

eternal_sorrow ★★★★★
()
Ответ на: комментарий от zezic

Спасибо огромное, я не понял даже, что использовал 2 версию, и что надо прописывать 3, спасибо еще раз.

sayzeks
() автор топика

Норм поцики сидят на xubuntu.

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.