无法使 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要求保留字符串内部的空格,要怎么处理?