无法使 python split() 与 £ [重复] 一起使用

Posted

技术标签:

【中文标题】无法使 python split() 与 £ [重复] 一起使用【英文标题】:Unable to get python split() working with £ [duplicate] 【发布时间】:2019-01-12 14:29:04 【问题描述】:

我试图用'£'分割一个字符串。我尝试了以下方法:

example = "£2.99£14.99"
example.split("£")

和:

example = "£2.99£14.99"
example.split("£".encode("utf-8"))

和:

example = "£2.99£14.99"
example.split("£".encode("utf-8", "ignore"))

他们都给出以下错误:

SyntaxError:第 38 行的文件 example.py 中的非 ASCII 字符“\xc2”,但未声明编码;详情见http://python.org/dev/peps/pep-0263/

我不确定如何继续。有人可以帮忙吗?

【问题讨论】:

您是否尝试阅读错误消息中的链接?你在那里发现了什么,你在应用这些建议时遇到了困难吗? @Thefourthbird:然后至少使用一个使用 Python 2 而不是 3 的示例站点,并且使用正确的语法,包括将其设为第一行或第二行(不是第三个)。 您也可以使用\xc2\xa3 将字符串文字中的井号编码为UTF-8,而不是声明编码。 我认为您应该使用“p”而不是英镑符号。 'p' 包含在 ASCII 中。 【参考方案1】:

link from your error中所述:

如果没有给出其他编码提示,Python 将默认使用 ASCII 作为标准编码。

要定义源代码编码,必须将魔术注释放在源文件中,作为文件的第一行或第二行。


所以您需要在example.py 文件的开头添加define your encoding

例如,如果您想要 UTF-8 编码,请使用以下行:

# -*- coding: utf-8 -*-

【讨论】:

以上是关于无法使 python split() 与 £ [重复] 一起使用的主要内容,如果未能解决你的问题,请参考以下文章

Python/Flask - 使“/index”重定向到“/”

python re.split要求保留字符串内部的空格,要怎么处理?

python学习笔记之split()方法与with

python: 字符串按空格分成列表split与加密密码maketrans

python中pop()与split()的用法

Python对字典列表进行去重追加