关于Python源码的编码问题
来源:互联网 发布:武汉淘宝商学院学费 编辑:程序博客网 时间:2024/06/13 13:33
最近一段时间开始学习Python,或多或少的会在代码中进行中文注释或者是输出中文等。刚开始的时候我是在命令行下使用python,在编辑器下写好代码,python file.py 来运行,因而当代码中出现中文时便会出错,具体提示如下:
看了下错误提示,编码问题,那时有其他事情便不想纠结,我英语注释还行么。。。
后来使用Idle,当代码中出现中文时,F5运行便会出现提示:
看到# -*- coding: cp936 -*-注释格式引起了兴趣,便去上网搜一搜,便找到了Python官网的Python增强建议(PEPs)(实际在命令行运行时就给出了该链接,参加图1),关于编码具做了具体的阐述(http://www.python.org/dev/peps/pep-0263/):
Python will default to ASCII as standard encoding if no other
encoding hints are given.
To define a source code encoding, a magiccomment must
be placed into the source files either asfirst or second
line in the file, such as:
# coding=<encoding name>
or (using formats recognized by populareditors)
#!/usr/bin/python
# -*- coding: <encoding name>-*-
or
#!/usr/bin/python
# vim: set fileencoding=<encodingname> :
默认是ASCII,所以不指定编码则在代码中出现中文则会编译出错。
More precisely, the first or second line must match the regular expression "coding[:=]\s*([-\w.]+)".
编码指定只能在第一或者第二行,否则会被忽略而默认为ASCII,并且编码指定格式是用上述则正表达式匹配,所以在前两行的注释行(甚至可以不是注释,加下述代码,只是演示,不推荐使用)中只要有coding: <encoding name>就行了,而大家经常用的-*-只是为了美观。
code = "coding: gb2312" # 在第一行,但不是注释str = "你好"print str
官网PEPs中关于编码有更详细的阐述,有兴趣的朋友可以自行阅读。
- 关于Python源码的编码问题
- 关于Python编码的问题。
- 关于python的编码问题
- 关于python的编码问题
- 关于python的编码问题
- python 关于UTF-8 编码的问题
- 关于Python编码问题的一些看法
- 关于python字符串编码问题的理解
- 关于python的编码问题和raw_input的乱码问题
- 关于python中的编码问题
- 关于python编码问题总结
- 关于python网页编码问题
- 关于python的编码问题的个人小结
- python的编码问题
- Python的编码问题
- Python 的编码问题
- python的编码问题
- python编码的问题
- Visual Studio 2010——C#中的事件
- UIActionSheet
- SVN服务器搭建和使用(三)
- js 中checkbox 控制全选
- 获取指定字符串中的图片地址,逗号分隔
- 关于Python源码的编码问题
- Android Recovery系统分析3----Android系统的几种启动模式
- Task Class
- php常用函数大全
- setbuf函数详解
- GetManifestResourceStream得到的Stream是null的解决
- 敏捷开发流程总结
- 将应用部署到Tomcat根目录的方法
- uart-232