当前位置: 代码迷 >> 综合 >> python练习报错‘No module named parsers.expat’
  详细解决方案

python练习报错‘No module named parsers.expat’

热度:45   发布时间:2024-01-12 14:00:07.0

在练习廖雪峰python教程时,碰到这样一段代码:

from xml.parsers.expat import ParserCreateclass DefaultSaxHandler(object):def start_element(self, name, attrs):print('sax:start_element: %s, attrs: %s' % (name, str(attrs)))def end_element(self, name):print('sax:end_element: %s' % name)def char_data(self, text):print('sax:char_data: %s' % text)xml = r'''<?xml version="1.0"?> <ol><li><a href="/python">Python</a></li><li><a href="/ruby">Ruby</a></li> </ol> '''
handler = DefaultSaxHandler()
parser = ParserCreate()
parser.returns_unicode = True
parser.StartElementHandler = handler.start_element
parser.EndElementHandler = handler.end_element
parser.CharacterDataHandler = handler.char_data
parser.Parse(xml)

报如下错误:

from xml.parsers.expat import ParserCreate

ImportError: No module named parsers.expat

上网查阅资料后,修改头部代码:

import sys
sys.path.append("/usr/lib/python2.7/xml/parsers/")from expat import ParserCreate

问题解决!

究其原因:

没有找打相应的模块(

from xml.parsers.expat import ParserCreate
), 调用的模块的路径不在系统环境中(PATH)。 仔细查看一下这些目录,是否缺少了__init__.py文件。如果缺少了,那么python不会认为这个目录是模块的。



  相关解决方案