какую кодовую декларацию я должен ввести в python

Я узнал на веб-сайте, что я должен добавить объявление кода в 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

Упс, что это? Я не думаю, что это может быть распознано компьютером. Что в мире должно быть объявлено в коде? Я все больше и больше запутываюсь.

Спасибо за помощь.

7
задан Searene 26 November 2011 в 12:00
поделиться