关于在linux上运行python我遇到了问题.我正在尝试学习python,并希望尝试解析一个小的XML文件并将标记和数据放入列表中.但是每次运行代码时,我都会在列表中的每个元素后附加一个"u".
[u'world']
defaultdict(<type 'list'>, {u'world': [u'data']})
Run Code Online (Sandbox Code Playgroud)
我的代码如下:
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"
Run Code Online (Sandbox Code Playgroud)
有谁知道问题可能是什么?
这个"奇怪的"符号基本上意味着string或者character以unicode编码
例如.如果我有一个字符串Test:
>>> unicode('Test')
u'Test'
>>> s = unicode('Test')
>>> type(s)
<type 'unicode'>
Run Code Online (Sandbox Code Playgroud)
文档在这里
总而言之,根据python文档,
... Unicode字符串是一系列代码点,它们是从0到0x10ffff的数字.该序列需要在内存中表示为一组字节(意思是0-255的值).将Unicode字符串转换为字节序列的规则称为编码.
| 归档时间: |
|
| 查看次数: |
136 次 |
| 最近记录: |