原始数据
:k = {u'description': u'First Contentful Paint marks the time at which the first text or image is painted. [Learn more].', u'title': u'First Contentful Paint', u'score': 1.0, u'scoreDisplayMode': u'numeric', u'displayValue': u'0.5\xa0s', u'id': u'first-contentful-paint'}
代码段:
data = k["lighthouseResult"]["audits"]["first-contentful-paint"]["displayValue"]
try:
val = raw_input(data.encode("utf-8"))
except EOFError:
print("skipped")
print "output: " + val
在上述代码段中,如何将结果存储在val
中;在行EOFError
上有val = raw_input(data.encode("utf-8"))
这是我得到的实际输出,我无法将值x.x s
存储在变量中
0.5 sskipped
output:
预期:
output: 0.5s
Python版本:2.7
答案 0 :(得分:1)
解码'0.5\xa0s'
的一种方法是使用unicode内置函数将其转换为unicode,并告诉它忽略非utf-8
字符,然后将其转换为字符串
>>> a = '0.5\xa0s'
>>> str(unicode(a, errors='ignore'))
'0.5s'
答案 1 :(得分:0)
正如Devesh解释的那样,我忽略了这些错误以摆脱我所面临的问题。
>>> a = '0.5\xa0s'
>>> a.encode(encoding="ascii", errors="ignore")
'0.5s'