草庐IT

unicode_literals

全部标签

Python 正则表达式 '\s' 与 unicode BOM (U+FEFF) 不匹配

Pythonre模块的documentation表示当设置了re.UNICODE标志时,'\s'将匹配:whateverisclassifiedasspaceintheUnicodecharacterpropertiesdatabase.据我所知,Materiallist(U+FEFF)是classifiedasaspace.但是:re.match(u'\s',u'\ufeff',re.UNICODE)评估为无。这是Python中的错误还是我遗漏了什么? 最佳答案 根据unicode数据库,U+FEFF不是空白字符。维基百科仅将其列

python - 在 python 中读取一个 unicode 文件,它以与 python 源代码相同的方式声明其编码

我想编写一个python程序来读取包含unicode文本的文件。这些文件通常使用UTF-8编码,但也可能不是;如果不是,则替代编码将在文件开头明确声明。更准确地说,它将使用与Python本身使用的规则完全相同的规则来声明,以允许Python源代码具有显式声明的编码(如PEP0263中,有关更多详细信息,请参阅https://www.python.org/dev/peps/pep-0263/)。需要明确的是,正在处理的文件实际上并不是python源代码,但它们确实使用相同的规则声明了它们的编码(当不是UTF-8时)。如果在打开文件之前知道文件的编码,Python提供了一种非常简单的方法来

python - 找到 TypeError : coercing to Unicode: need string or buffer, 列表

我正在尝试启动并运行数据解析脚本。就数据操作而言,它是有效的。我想做的是设置它,这样我就可以用一个命令输入多个用户定义的CSV。例如>pythonscript.pyOne.csvTwo.csvThree.csv如果您对如何自动命名输出CSV有任何建议,那么如果input=test.csv,output=test1.csv,我会也很感激。获取TypeError:coercingtoUnicode:needstringorbuffer,listfound为线forlineincsv.reader(open(args.infile)):我的代码:importcsvimportpprintpp

python - PyYaml - 转储带有特殊字符(即重音符号)的 unicode

我正在处理yaml文件,这些文件必须是人类可读和可编辑的,但也可以通过Python代码进行编辑。我正在使用Python2.7.3该文件需要处理重音(主要是处理法语文本)。这是我的问题示例:importcodecsimportyamlfile=r'toto.txt'f=codecs.open(file,"w",encoding="utf-8")text=u'héhéhé,hûhûhû'textDict={"data":text}f.write('writeunicode:'+text+'\n')f.write('writedict:'+unicode(textDict)+'\n')f.w

python - NLTK 中的 TypeError : must be unicode, 不是 str

我正在使用python2.7、nltk3.2.1和python-crfsuite0.8.4。我正在关注此页面:http://www.nltk.org/api/nltk.tag.html?highlight=stanford#nltk.tag.stanford.NERTagger对于nltk.tag.crf模块。首先我只是运行这个fromnltk.tagimportCRFTaggerct=CRFTagger()train_data=[[('dfd','dfd')]]ct.train(train_data,"abc")我也试过了f=open("abc","wb")ct.train(trai

Unicode 字符串上的 Python、len 和切片

我正在处理这样一种情况,我需要让一个字符串适合屏幕上分配的间隙,因为我使用的是unicodelen()和slices[]显然是按字节工作的,我最终把unicode字符串剪得太短了,因为€只在屏幕中占据一个空间,但len()或slices[]占2个空间。我已经正确设置了编码header,并且我愿意使用slice或len()之外的其他东西来处理这个问题,但我真的需要知道字符串将占用多少个空格以及如何将其切割成可用的。$cattest.py#-*-coding:utf-8-*-a="2€uros"b="2Euros"printlen(b)printlen(a)printa[3:]printb

Python unicode 列表加入

我想加入一个unicodepython列表,例如:a=[u'00',u'0c',u'29',u'58',u'86',u'16']我想要一个看起来像这样的字符串:'00:0c:29:58:86:16'我该如何加入? 最佳答案 >>>a=[u'00',u'0c',u'29',u'58',u'86',u'16']>>>u":".join(a)u'00:0c:29:58:86:16'>>>str(u":".join(a))'00:0c:29:58:86:16' 关于Pythonunicode列表

python - 无法使用 Python 打开 Unicode URL

使用Python2.5.2和LinuxDebian,我试图从包含西类牙语字符'í'的西类牙语URL获取内容:importurlliburl=u'http://mydomain.es/índice.html'content=urllib.urlopen(url).read()我收到这个错误:UnicodeEncodeError:'ascii'codeccan'tencodecharacteru'\xe1'inposition8:ordinalnotinrange(128)我在将url传递给urllib之前尝试使用:url=urllib.quote(url)还有这个:url=url.enc

python - 错误 "invalid literal for int() with base 10:"不断出现

我正在尝试编写一个非常简单的程序,我想打印出所有小于100的3和5的倍数的总和,但是,一个错误不断出现,说“invalidliteralforint()withbase10:"我的程序如下:sum=""sum_int=int(sum)foriinrange(1,101):ifi%5==0:sum+=ielifi%3==0:sum+=ielse:sum+=""printsum如有任何帮助,我们将不胜感激。 最佳答案 ""是这些问题的原因。改变sum=""到sum=0并摆脱else:sum+=""

Python - 读取表情符号 Unicode 字符

我有一个Python2.7程序,它从SQLite数据库读取iOS文本消息。短信是unicode字符串。在以下短信中:u'that\u2019s\U0001f63b'撇号由\u2019表示,但表情符号由\U0001f63b表示。我查找了相关表情符号的代码点,它是\uf63b。我不确定0001来自哪里。我对字符编码知之甚少。当我逐字符打印文本时,使用:s=u'that\u2019s\U0001f63b'forcins:printc.encode('unicode_escape')程序产生以下输出:that\u2019s\ud83d\ude3b如何在Python中正确读取这些最后的字符?我在