当前位置: 首页 > 知识库问答 >
问题:

语法错误:函数返回“£”时文件中的非ASCII字符“\xa3”

轩辕嘉平
2023-03-14

说我有一个功能:

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

谁能告诉我如何在返回函数中包含英镑符号?我基本上是在类中使用它,它在'__str__'部分中包含了井号。

共有3个答案

夏侯昊明
2023-03-14

首先将#-*-coding:utf-8-*-行添加到文件的开头,然后对所有非ASCII unicode数据使用u'foo':

def NewFunction():
    return u'£'

或者使用Python 2.6以来可用的魔法来使其自动:

from __future__ import unicode_literals
公冶昆杰
2023-03-14

在.py脚本顶部添加以下两行对我来说很有用(第一行是必需的):

#!/usr/bin/env python
# -*- coding: utf-8 -*- 
颜宸
2023-03-14

我建议您阅读错误给出的PEP。问题是您的代码试图使用ASCII编码,但英镑符号不是ASCII字符。尝试使用UTF-8编码。首先,可以将#-*-coding:utf-8-*-放在.py文件的顶部。为了更高级,您还可以在代码中逐字符串定义编码。但是,如果您试图将井号文字放入代码中,则需要对整个文件支持井号文字的编码。

 类似资料:
  • 问题内容: 我将以下字符视为“非法”: ,,,,,,,,,,,,,,,,, 我想编写一个检查字符串并确定(/ )该字符串是否包含以下非法内容的方法: 但是,对此进行简单检查是不可行的。我需要一种方法来扫描字符串中的每个字符,并确保它不是这些字符之一。当然,我可以做一些 可怕的 事情: 有没有更优雅/有效的方法来实现这一目标? 问题答案: 您可以在此处使用和类。您可以将所有已过滤的字符放在一个字符类

  • 问题内容: 我在Matplotlib中显示非ASCII字符时遇到问题,这些字符呈现为小框而不是适当的字体,看起来像(我用红色油漆填充了这些框以突出显示它们): 我如何解决它? 一个相关的问题是 Matplotlib中的重音字符 。 问题答案: 实际上,此问题可能有两个不同的原因: 默认字体不包含这些字形 您可以使用以下方法更改默认字体(在完成任何绘制之前!) 在某些版本的matplotlib中,您

  • 我得到了这个错误,我知道这个问题已经在这里解决过了,因为人们没有在函数中添加返回->。我不明白为什么这仍然给我带来错误。

  • 问题内容: 我正在尝试解析包含某些非ASCII字符的xml, 代码如下 但它在行“ content = …”上显示了错误,例如 在终端中它正在工作,但是在Eclipse IDE上运行时却给我一个错误。 不知道该如何克服。 问题答案: 您应该定义源代码编码,并将其添加到脚本顶部: 它在控制台和IDE中工作不同的原因可能是由于设置了不同的默认编码。您可以通过运行以下命令进行检查:

  • 我是JS的学生。我有一段代码返回了一个错误。 这是返回的语法错误。你们能解释一下我做错了什么吗?

  • 问题内容: 我在处理python isdigit函数时遇到一个奇怪的问题。 例如: 为什么这个字符是数字? 有什么办法可以使此返回False,谢谢? 编辑,如果我不想将其视为数字,那么如何将其过滤掉? 例如,当我尝试将其转换为int时: 然后发生了。 问题答案: U + 2466是CIRCLED DIGIT SEVEN (⑦),所以是的,它是一个数字。 如果您对数字的定义与Unicode联合会的定