我从网站上了解到,当我不想输入友好的unicode字符:http://www.python.org/dev/peps/pep-0263/时,我应该在python中添加代码声明,但我仍然对此感到困惑。
假设我在linux中使用vim,然后创建一个新的py文件和输入代码,如下所示:
#!/usr/bin/python2.7
# -*- coding: utf8 -*-
s = u'ޔ'
print s1。我试图用以下代码替换第2行:
import sys
reload(sys)
sys.setdefaultencoding('utf8')但这不管用,不是吗?
2。我对linux不太熟悉,我真的不知道为什么要在代码删除的开头和结尾添加_*_,当我试图用# code=utf8或# code: utf8替换# -*- coding: 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哎呀,这是什么?我不认为computer.what能够在世界范围内识别它,代码应该声明吗?我感到越来越困惑。
谢谢你帮忙。
发布于 2011-11-26 12:17:15
python编码声明的重要部分是coding: utf-8,它应该在第一行python代码之前的注释中,您可以随意处理注释的另一部分。
以下是PEP中描述这种行为的行:
更准确地说,第一行或第二行必须匹配正则表达式"coding:=\s*(-\w.+)“。然后将该表达式的第一组解释为编码名称。如果Python不知道编码,则会在编译期间引发错误。在包含编码声明的行中不能有任何Python语句。
https://stackoverflow.com/questions/8278264
复制相似问题