我遇到了关于在linux上运行python的问题。我正在尝试学习python,并希望尝试解析一个小的XML文件并将标记和数据放入列表中。但是每次运行代码时,我都会在列表中的每个元素后附加一个“u”。
[u'world']
defaultdict(<type 'list'>, {u'world': [u'data']})
我的代码如下:
import xml.sax
from collections import defaultdict
class TransformXML(xml.sax.ContentHandler):
def __init__ (self):
self.start_tag_name = -1
self.tag_data = -1
self.myDict = defaultdict(list)
self.tags = []
def startElement(self, name, attrs):
self.start_tag_name = name
print name
print self.start_tag_name
def characters(self, content):
if content.strip(' \r\n\t') != "":
self.tag_data = content.strip(' \r\n\t')
print self.start_tag_name
self.tags.append(self.start_tag_name)
self.myDict[self.start_tag_name].append(content.strip(' \r\n\t'))
def endElement(self, name):
pass
def __del__ (self):
if self.myDict:
del self.myDict
print "deleteing myDict"
有谁知道这个问题可能是什么?
答案 0 :(得分:5)
“怪异”符号基本上意味着string
或character
以unicode编码
EG。如果我有一个字符串Test
:
>>> unicode('Test')
u'Test'
>>> s = unicode('Test')
>>> type(s)
<type 'unicode'>
文档here
总结一下,根据python
文档,
... Unicode字符串是一系列代码点,它们是来自的数字 0到0x10ffff。该序列需要表示为一组字节 内存中的(意思是0-255的值)。翻译规则 将Unicode字符串转换为字节序列称为编码。