Epub 转 txt
2012-08-31 19:34
274 查看
# -*- coding: cp936 -*- import sys,re,zipfile,HTMLParser,os class GetContent(HTMLParser.HTMLParser): def __init__(self): HTMLParser.HTMLParser.__init__(self) #HTMLParser不是new class,无法使用super self.content = "" def handle_data(self, data): self.content += data re_digits = re.compile(r'(\d+)') def embedded_numbers(s): pieces = re_digits.split(s) pieces[1::2] = map(int, pieces[1::2]) return pieces def sort_with_embedded_numbers(zipinfo_list): aux = [(embedded_numbers(zipinfo.filename), zipinfo) \ for zipinfo in zipinfo_list] aux.sort() return [zipinfo for _, zipinfo in aux] Files = os.listdir(os.getcwd()) Files = [f for f in Files if ".epub" in f and f.replace(".epub",'.txt') not in Files] for fname in Files: fh = zipfile.ZipFile(fname) html_list = [ zip_info for zip_info in fh.filelist if zip_info.filename.endswith("html") or zip_info.filename.endswith("htm") ] html_list = sort_with_embedded_numbers(html_list) content_obj = GetContent() for html in html_list: content_obj.feed(fh.read(html)) output_filename = fname.replace(".epub", ".txt") out_fh = open(output_filename, 'w') out_fh.write(content_obj.content) out_fh.close() print fname," done!"
相关文章推荐
- 基于Core Text实现的的txt,epub电子书阅读器
- 如何将txt格式转epub格式
- 无聊,写贴,关于使用java将txt转换成epub
- Flash在线文档阅读器::pdf、doc、docx、xls、xlsx、ppt、pptx、htm、txt、rtf、epub、csv、xdoc等
- java 复制文件夹中epub、html、txt文件 (按原来文件夹存放)
- Flash在线文档阅读器::pdf、doc、docx、xls、xlsx、ppt、pptx、htm、txt、rtf、epub、csv、xdoc等
- Android在终端本地保存txt文本文件及zip文件
- cmd复制.java并合并为.txt
- 给小说以章节划分TXT
- Java写到.txt文件,如何实现换行
- asp.net 在C盘创建 log.txt出错
- 2015workshop-age 的txt 生成过程
- ZwReadFile读TXT文件
- 对于解析txt 格式的的文件
- mysql命令行导入大文件txt
- Java读取txt文本内容并写入Excel
- (转)Java创建txt文件并进行读、写、修改操作
- 【matlab】在程序运行结果中保存数据到txt文档
- benhuan039sblog.wordpress.2012-11-11.xml_.txt
- 翻译 /documentation/kobject.txt