为什么运行python脚本与运行单个命令不同?

时间:2016-10-29 19:42:03

标签: python encoding character-encoding string-formatting

我在python中的encondings遇到了很多麻烦。在搜索网络寻找答案时,我收到了许多回复,但其中没有一个真正起作用。然后,我发现了这种行为:在python解释器中运行命令的行为与实际运行脚本的行为不同。参见:

$ cat prueba.py 
print("{} con leche".format('Café'))

$ python prueba.py 
  File "prueba.py", line 1
SyntaxError: Non-ASCII character '\xc3' in file prueba.py on line 1, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details

$ python
Python 2.7.12+ (default, Sep  1 2016, 20:27:38) 
[GCC 6.2.0 20160927] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> print("{} con leche".format('Café'))
Café con leche
>>> 

任何人都可以向我解释这个吗? (如果可能的话,还可以帮助我解决编码问题)

1 个答案:

答案 0 :(得分:2)

您必须在脚本中添加编码:

# -*- coding: utf-8 -*-
print("{} con leche".format('Café'))