当前位置:首页 > 操作系统 > MacOs

Python,Emacs和编码

我在使用Emacs Python 2.7.1编码时遇到麻烦.根据PEP 0263,Python使用与emacs相同的源编码声明.

当我使用以下编码标记启动Python源代码脚本时,没有问题:

<code>#!/usr/bin/python
# -*- mode=python; encoding:us-ascii -*-
</code>

但是,当我在我的编码中添加行尾模式时,例如:

<code>#!/usr/bin/python
# -*- mode=python; encoding:us-ascii-unix -*-
</code>

Emacs仍然接受我的编码信息,但是执行脚本时,我从Python中收到以下错误:

<code>File "./unicode.py", line 2
SyntaxError: encoding problem: with BOM
</code>

有没有办法告诉Emacs我要使用的行尾,并同时告诉Python源文件编码?

解决方法:

您可以编写两个块:一个仅由解释器解析,而另一个仅由Emacs解析:

<code>#!/usr/bin/python
# coding: us-ascii

print "Hello World"    

# Local Variables:
# mode: python
# coding: us-ascii-unix
# End:
</code>

请注意,(1)us-ascii是Python 2.x中的默认设置; (2)Emacs通常能够自动确定行尾约定;因此您可能无需声明就可以相处.


【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!

相关教程推荐

其他课程推荐