Я узнал на веб-сайте, что я должен добавить объявление кода в python, когда я не хочу вводить дружественные символы юникода: http://www.python.org/dev/peps/pep-0263/, но я все еще чувствую себя в замешательстве по этому поводу.
Предположим, что я работаю в linux с vim, и я создаю новый файл py и ввожу коды следующим образом:
#!/usr/bin/python2.7
# -*- coding: utf8 -*-
s = u'ޔ'
print s
1. Я попытался заменить строку 2 на следующие коды:
import sys
reload(sys)
sys.setdefaultencoding('utf8')
но это не работает, разве они не одинаковые?
2. Я не очень хорошо знаком с linux, я действительно не знаю, почему я должен добавлять _*_
в начале и конце описания кода, и когда я попытался заменить # -*- coding: utf8 -*-
на # code=utf8
или # code: utf8
, я получил ошибку:
File "pythontest.py", line 3
SyntaxError: Non-ASCII character '\xde' in file pythontest.py on line 3, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details
но эти объявления кода упоминаются на сайте http://www. python.org/dev/peps/pep-0263/!
и согласно документации, разрешено следующее объявление кода:
# This Python file uses the following encoding: utf-8
Упс, что это? Я не думаю, что это может быть распознано компьютером. Что в мире должно быть объявлено в коде? Я все больше и больше запутываюсь.
Спасибо за помощь.