当前位置: 首页 > news >正文

a站是啥百度小说搜索风云榜排行榜

a站是啥,百度小说搜索风云榜排行榜,六安网约车公司,青海做网站好的公司昨天有一位名为 sumina 的小伙伴留言反馈了一个很奇怪的问题,他在用 Calibre 将某个 TXT 文件转换成 MOBI 格式时出错了,而其它的 TXT 文件却可以正常转换,并且出错的 TXT 看起来没有什么问题。 在得到这位小伙伴提供的样本 TXT 文件后&#…

昨天有一位名为 sumina 的小伙伴留言反馈了一个很奇怪的问题,他在用 Calibre 将某个 TXT 文件转换成 MOBI 格式时出错了,而其它的 TXT 文件却可以正常转换,并且出错的 TXT 看起来没有什么问题。

在得到这位小伙伴提供的样本 TXT 文件后,我首先用 Calibre 测试了一下,果然出现了如下错误:

# 已省略不相关内容……

Python function terminated unexpectedly: [Errno 21] Is a directory: u'/var/folders/1r/1qwpq6f56hz4xp0gwv7br_kr0000gn/C/calibre_3.40.1_tmp_BSEcvF/'

InputFormatPlugin: TXT Input running

on /var/folders/1r/1qwpq6f56hz4xp0gwv7br_kr0000gn/C/calibre_3.40.1_tmp_BSEcvF/JAVXx3.txt

Reading text from file...

Detected input encoding as gbk with a confidence of 99.0%

Auto detected paragraph type as unformatted

Auto detected formatting as textile

Running text through textile conversion...

Traceback (most recent call last):

File "/Applications/calibre.app/Contents/Resources/Python/lib/python2.7/site.py", line 154, in main

return run_entry_point()

File "/Applications/calibre.app/Contents/Resources/Python/lib/python2.7/site.py", line 114, in run_entry_point

return getattr(pmod, func)()

File "site-packages/calibre/utils/ipc/worker.py", line 199, in main

File "site-packages/calibre/gui2/convert/gui_conversion.py", line 42, in gui_convert_override

File "site-packages/calibre/gui2/convert/gui_conversion.py", line 27, in gui_convert

File "site-packages/calibre/ebooks/conversion/plumber.py", line 1106, in run

File "site-packages/calibre/customize/conversion.py", line 244, in __call__

File "site-packages/calibre/ebooks/conversion/plugins/txt_input.py", line 268, in convert

File "site-packages/calibre/ebooks/conversion/plugins/txt_input.py", line 117, in fix_resources

IOError: [Errno 21] Is a directory: u'/var/folders/1r/1qwpq6f56hz4xp0gwv7br_kr0000gn/C/calibre_3.40.1_tmp_BSEcvF/'

但是遗憾的是,错误信息除了提示一个路径“是个文件夹”外([Errno 21] Is a directory ),并没有给出更多有价值的信息。而根据以往的使用经验来看,转换一个 TXT 跟什么目录并不应该有什么联系。

由于其它 TXT 文件的转换是正常的,可以确定 Calibre 的转换功能应该是没问题的。那问题就应该出在 TXT 内容上面的。但是打开 TXT 文件,里面的内容除了使用了英文标点符号,并没有什么异样,没有什么特殊字符,也没有什么乱码。看来是时候祭出解决这类“灵异”问题的终极武器——排除大法。

我用人肉二分法的方式,在保持转换问题重现的前提下,提取 TXT 文档中的内容逐次测试,以期将问题缩小到某个段落上。在将范围缩小至 20 段文字后,有趣的现象出现了。当保持这 20 段内容时,转换问题可重现,但是不论删除头几行、后几行还是中间几行段论,问题都不会重现,就好像问题不是出在某个字符或某个段落上,而是呈“分布式”出现的。虽然离问题的根源很近了,但是并不显然。

于是我继续缩小范围,直至在保持转换问题重现的状态下,将内容缩减到如下所示:

!"逢!

!他!

!啊!

!可!

!我!

!说!

在这种情况下,删除任何一个字符,转换问题都会消失。还有一个有趣的现象是,当删除其中的“引号”后再转换时,输出信息竟然出现了如下这种对于转换 TXT 纯文本文档来说相当奇怪的内容:

# 已省略不相关内容……

Converting XHTML to Mobipocket markup...

Failed to find image: 逢

Failed to find image: 他

Failed to find image: 啊

Failed to find image: 可

Failed to find image: 我

Failed to find image: 说

Serializing markup content...

# 已省略不相关内容……

纯文本文档怎么会出现与图片相关的信息呢?回头再观察“最小化”后的内容,发现里面的“惊叹号”是成对重复出现的,并且中间都包含一个字符,很像一种标记语法。到现在我才搞明白怎么回事。

▲ Calibre 默认会自动检测 TXT 文档结构

Calibre 在将 TXT 文件转换成 MOBI 格式电子书前会先将其转换成 HTML。在此过程中 Calibre 默认会自动检测 TXT 文档的结构(如上图所示,可以看到在【TXT 输入】设置项中的【格式化样式】默认值是【auto】),这就意味着 Calibre 会“自动决定使用哪一个格式化处理器”,当它发现某一种标记语法(如 Markdown)重复出现了几次,就会认为文档结构使用了该标记语言并试图将其转换成 HTML。

在出现转换问题的样本中,由于原文档输入不规范,在本应使用中文标点的地方使用了英文标点,并且其中过多使用的英文感叹号“!”所呈现的文档结构,让 Calibre 误以为使用了 !/carver.png!,从测试来看,至少出现六次才会被 Calibre 认为是 Textile 语法)。

如果只有这个问题,只会导致文档缺字,并不会导致转换失败。导致转换失败的根源是,在 Calibre 认为该文档使用了 Textile 标记语言的同时还遇到了“错误的标记”,也就是叹号后面紧接着的引号(如 !"内容!),这就导致 Calibre 在误以为是图片的基础上,又尝试在错误的位置引用根本不存在的图片,这也是为什么会出现提示某个路径是文件夹的原因。最终,在错上加错的情况下,转换被中断了。

知道了问题所在,解决方法就自然显现了:要么预先把原 TXT 文档中的英文标点(至少是英文叹号)全部替换成中文标点;要么在转换时,将【格式化样式】的值改为【Markdown】或【plain】,以禁止 Calibre 解析可能出问题的标记语言(建议同时用【搜索 & 替换】把英文标点替换成中文标点)。

对于第二种解决方案,需要注意一种情况。如果你在转换 TXT 文档的同时,需要添加 Markdown 标记以便自动生成电子书目录,选用【plain】会导致 Calibre 忽略包括 Markdown 在内的所有结构标记的解析。所以最稳妥的方法是,在添加标记的同时,预先把文档中的英文标点符号转换成中文,或者选用【Markdown】,让 Calibre 只检测 Markdown 标记,忽略其它可能导致转换出问题的标记。

http://www.hkea.cn/news/384627/

相关文章:

  • 网站建设的意义徐州百度推广
  • 建设网站建设的目标百度云盘资源
  • 个体工商户是否能够做网站在线生成个人网站源码
  • 临沂高端网站建设厦门网站推广费用
  • 网站模版友链交易交易平台
  • 武汉做网站找谁百度导航是哪个国家的
  • wordpress互动游戏黄石seo诊断
  • 网页设计作品下载志鸿优化设计
  • 宾馆网站制作seminar是什么意思
  • 网站建设的进度表爱站查询工具
  • 深圳聘请做网站人员长春刚刚最新消息今天
  • 汽配人网做网站沈阳网站seo公司
  • 网站 短链接怎么做网站建设网站定制
  • 网站开发凭证做什么科目百度推广关键词多少合适
  • 网站正在建设 h5模板新闻热点
  • 龙岗公司网站建设怎么上百度搜索
  • 七米网站建设网站自动推广软件免费
  • 余姚公司做网站跨境电商怎么做
  • 顺义哪有做网站厂家百度快照在哪里找
  • 深圳南山网站建设重庆seo黄智
  • 教育微网站建设我要学电脑哪里有短期培训班
  • 民宿预订网站制作推广方案怎么做
  • 做网站都要掌握什么网页模版
  • 网站怎么做qq微信登陆长沙优化网站哪家公司好
  • 为什么上不了建设银行个人网站漳州网络推广
  • 天津手机网站建站培训代运营公司可靠吗
  • 网站制作的一般步骤长春网站优化平台
  • Python做网站 性能上海seo培训中心
  • 网上投诉平台公众号排名优化
  • 网页模板网站推荐媒体公关是做什么的