相关疑难解决方法(0)

在Python源代码中使用utf-8编码

$ cat bla.py 
u = unicode('d…')
s = u.encode('utf-8')
print s
$ python bla.py 
  File "bla.py", line 1
SyntaxError: Non-ASCII character '\xe2' in file bla.py on line 1, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details
Run Code Online (Sandbox Code Playgroud)

如何在源代码中声明utf-8字符串?

python encoding utf-8 character-encoding

404
推荐指数
2
解决办法
82万
查看次数

正确的方法来定义Python源代码编码

PEP 263定义了如何声明Python源代码编码.

通常,Python文件的前两行应该以:

#!/usr/bin/python
# -*- coding: <encoding name> -*-
Run Code Online (Sandbox Code Playgroud)

但我看到很多文件以:

#!/usr/bin/python
# -*- encoding: <encoding name> -*-
Run Code Online (Sandbox Code Playgroud)

=> 编码而不是编码.

那么声明文件编码的正确方法是什么?

是否允许编码,因为使用的正则表达式是懒惰的?或者它只是声明文件编码的另一种形式?

我问这个问题是因为PEP没有谈论编码,它只是谈论编码.

python encoding

156
推荐指数
4
解决办法
8万
查看次数

它来自哪里: - * - 编码:utf-8 - * -

Python将以下内容识别为定义文件编码的指令:

# -*- coding: utf-8 -*-
Run Code Online (Sandbox Code Playgroud)

我确实在(-*- var: value -*-)之前看过这种指令.它从何而来?什么是完整的规范,例如,值可以包括空格,特殊符号,换行符,甚至-*-本身?

我的程序将编写纯文本文件,我想使用这种格式在其中包含一些元数据.

python emacs encoding text file

123
推荐指数
3
解决办法
8万
查看次数

是'# - * - 编码:utf-8 - * - '也是Python的评论?

当我们#用于在Python中插入注释时,Python如何采用:

# -*- coding: utf-8 -*-
Run Code Online (Sandbox Code Playgroud)

不同?

python encoding comments

51
推荐指数
2
解决办法
7万
查看次数

标签 统计

encoding ×4

python ×4

character-encoding ×1

comments ×1

emacs ×1

file ×1

text ×1

utf-8 ×1