德国骨科 发表于 2018-9-19 15:39:19

SyntaxError: Non-ASCII character '\xa3' in file 'blah' but no encoding declared;

def NewFunction():
    return '£'
我想在它前面打一些带有井号的东西,当我尝试运行这个程序时会输出错误,显示以下错误信息:
SyntaxError: Non-ASCII character '\xa3' in file 'blah' but no encoding declared;
see http://www.python.org/peps/pep-0263.html for details
谁能告诉我如何在返回功能中加入英镑符号?

此间少年 发表于 2018-9-19 15:40:10

问题是你的代码正在尝试使用ASCII编码,但井号不是ASCII字符。尝试使用UTF-8编码。你可以从# -*- coding: utf-8 -*-.py文件的顶部开始。要获得更高级的功能,你还可以在代码中逐个字符串地定义编码。但是,如果你尝试将井号符号文字放入代码中,则需要一个支持整个文件的编码。

深度大佬进修 发表于 2018-9-19 15:41:09

添加以下两行坐在我的.py脚本的顶部为我工作(第一行是必要的):
#!/usr/bin/env python
# -*- coding: utf-8 -*-

他改变了中国 发表于 2018-9-19 15:43:03

首先将# -*- coding: utf-8 -*-行添加到文件的开头,然后u+字符串用于所有非ASCII unicode数据:
def NewFunction():
    return u'£'
或使用Python 2.6以上的unicode_literals使其自动化:
from __future__ import unicode_literals
页: [1]
查看完整版本: SyntaxError: Non-ASCII character '\xa3' in file 'blah' but no encoding declared;