我在使用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)!