首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我应该在python中输入什么样的代码声明?

我应该在python中输入什么样的代码声明?
EN

Stack Overflow用户
提问于 2011-11-26 12:00:57
回答 4查看 4.4K关注 0票数 7

我从网站上了解到,当我不想输入友好的unicode字符:http://www.python.org/dev/peps/pep-0263/时,我应该在python中添加代码声明,但我仍然对此感到困惑。

假设我在linux中使用vim,然后创建一个新的py文件和输入代码,如下所示:

代码语言:javascript
复制
#!/usr/bin/python2.7
# -*- coding: utf8 -*-
s = u'ޔ'
print s

1。我试图用以下代码替换第2行:

代码语言:javascript
复制
import sys
reload(sys)
sys.setdefaultencoding('utf8')

但这不管用,不是吗?

2。我对linux不太熟悉,我真的不知道为什么要在代码删除的开头和结尾添加_*_,当我试图用# code=utf8# code: utf8替换# -*- coding: utf8 -*-时,我得到了一个错误:

代码语言:javascript
复制
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/中提到的!

根据文档,允许如下代码声明:

代码语言:javascript
复制
# This Python file uses the following encoding: utf-8

哎呀,这是什么?我不认为computer.what能够在世界范围内识别它,代码应该声明吗?我感到越来越困惑。

谢谢你帮忙。

EN

Stack Overflow用户

发布于 2011-11-26 12:17:15

python编码声明的重要部分是coding: utf-8,它应该在第一行python代码之前的注释中,您可以随意处理注释的另一部分。

以下是PEP中描述这种行为的行:

更准确地说,第一行或第二行必须匹配正则表达式"coding:=\s*(-\w.+)“。然后将该表达式的第一组解释为编码名称。如果Python不知道编码,则会在编译期间引发错误。在包含编码声明的行中不能有任何Python语句。

票数 3
EN
查看全部 4 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8278264

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档