在使用epub python包时遇到此错误,或者您可以说epub library for python,不知道该如何处理它。请帮帮我..
Traceback (most recent call last):
File "F:/4th semester/3", line 4, in <module>
book=epub.open_epub('d:\welcome.epub')
File "C:\Python27\lib\site-packages\epub\__init__.py", line 43, in open_epub
return EpubFile(filename, mode)
File "C:\Python27\lib\site-packages\epub\__init__.py", line 82, in __init__
self._init_read()
File "C:\Python27\lib\site-packages\epub\__init__.py", line 143, in _init_read
self.toc = ncx.parse_toc(self.read_item(item_toc))
File "C:\Python27\lib\site-packages\epub\__init__.py", line 276, in read_item
return self.read(os.path.join(self.content_path, path))
File "C:\Python27\lib\zipfile.py", line 931, in read
return self.open(name, "r", pwd).read()
File "C:\Python27\lib\zipfile.py", line 957, in open
zinfo = self.getinfo(name)
File "C:\Python27\lib\zipfile.py", line 905, in getinfo‘归档文件’%KeyError)中没有名为%r的项目:“归档文件‘enter code here’中没有名为u‘’OEBPS\toc.ncx‘的项目
发布于 2014-04-01 20:18:21
从你的问题中,我假设你正在使用这里的Python-Epub库:https://pypi.python.org/pypi/epub/0.5.1,并且你是在Windows上运行的。
知道EPUB本质上是压缩文件是有帮助的。Python EPUB处理库中的一个典型错误是尝试使用os.path.join在压缩存档中构建路径,就好像它是常规文件系统一样。在Windows上,os.path.join压缩zipfile模块无法识别的Windows文件路径分隔符(即\\)。
这是epub库中的一个错误(应该报告),但您可以很容易地获得解决方法,如下所示:
epub源所在的位置:将以下函数python -c "import epub; print epub.__file__"
epub源:使用zip_path_join
替换def zip_path_join(a, *p): for b in p: a += '/' + b return a
epub sources for os.path.join发布于 2014-04-02 01:36:34
感谢您对这一问题的报告。这是..。好吧..。我真丢脸,我早就该解决这个问题了。
因此,我推出了一个新版本0.5.2,您可以升级您的版本,看看它是否如您所期望的那样工作(它应该可以工作,但我没有在任何Windows环境下运行单元测试)。
附言:我不会说“我有自己的生活和事情发生”,但是…是啊,就是这样...
https://stackoverflow.com/questions/22642252
复制相似问题