首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >python的epub库

python的epub库
EN

Stack Overflow用户
提问于 2014-03-26 01:37:45
回答 2查看 3.8K关注 0票数 2

在使用epub python包时遇到此错误,或者您可以说epub library for python,不知道该如何处理它。请帮帮我..

代码语言:javascript
复制
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‘的项目

EN

回答 2

Stack Overflow用户

发布于 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库中的一个错误(应该报告),但您可以很容易地获得解决方法,如下所示:

  1. 确定您的epub源所在的位置:

将以下函数python -c "import epub; print epub.__file__"

  • Add到epub源:

使用zip_path_join

  • Enjoy!

替换def zip_path_join(a, *p): for b in p: a += '/' + b return a

  • Search epub sources for os.path.join
票数 2
EN

Stack Overflow用户

发布于 2014-04-02 01:36:34

感谢您对这一问题的报告。这是..。好吧..。我真丢脸,我早就该解决这个问题了。

因此,我推出了一个新版本0.5.2,您可以升级您的版本,看看它是否如您所期望的那样工作(它应该可以工作,但我没有在任何Windows环境下运行单元测试)。

附言:我不会说“我有自己的生活和事情发生”,但是…是啊,就是这样...

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22642252

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档