解压豆丁 V3 格式的 docin 文件的 Python 代码
2011-04-22 23:40
1346 查看
首先把豆丁文件下载下来,比如 http://file1.yimk.com/docin_147119313_2.docin
,然后下面代码就可以将这个 docin 文件解压成多个单页的 swf 文件,使用 FlashPlayer 就可以直接查看。
,然后下面代码就可以将这个 docin 文件解压成多个单页的 swf 文件,使用 FlashPlayer 就可以直接查看。
import zlib, struct input_docin = r'E:/DOWNLOAD/docin_147119313_2.docin' output_swf = r'r://' docin = open(input_docin, 'rb') width = struct.unpack('i', docin.read(4))[0] height = struct.unpack('i', docin.read(4))[0] pages = struct.unpack('i', docin.read(4))[0] head_len = struct.unpack('i', docin.read(4))[0] swf_header = docin.read(head_len) print '%s, %s, %s, %s' % (width, height, pages, head_len) part = 1 while 1: part_len = docin.read(4) if part_len: part_len = struct.unpack('i', part_len)[0] print part_len part_cont = docin.read(part_len) part_paper = zlib.decompress(swf_header) + zlib.decompress(part_cont) part_swf = '%s%s%s%s%s%s' % (struct.pack('b', 70), struct.pack('b', 87), struct.pack('b', 83), struct.pack('b', 9), struct.pack('i', len(part_paper)), part_paper) swf_file = open(output_swf + '//%s.swf' % (part), 'wb') swf_file.write(part_swf) swf_file.close() part += 1 else: break docin.close()
相关文章推荐
- 使用Python3解压gz、tar、tgz、zip、rar五种格式的压缩文件例子
- python代码:本地压缩文件,然后连接远端linux,上传文件,解压,安装
- python 脚本(获取指定文件夹、指定文件格式、的代码行数、注释行数)
- python读取与写入csv格式文件的示例代码
- [置顶] 使用Python3解压gz、tar、tgz、zip、rar五种格式的压缩文件例子
- python 脚本(获取指定文件夹、指定文件格式、的代码行数、注释行数)
- 20行Python代码教你批量将PDF文件转为Word格式
- Glade两种布局文件格式GtkBuilder和Libglade在python中的导入代码
- 使用Python下载歌词并嵌入歌曲文件中的实现代码
- 代码编写中关于文件/函数注释的统一格式
- python 日期, 文件, 代码片段
- python学习笔记 --- tar文件压缩解压
- 用python将LTE-NB NAS消息转换成wireshark文件格式解析
- python3大文件解压和基本操作
- python将文件进行解压
- 文件上传之asp代码,工作原理,以及post包数据格式
- unity3d 中文乱码解决方法——cs代码文件格式批量转化UTF8
- mp4文件格式解析,为demux准备的代码
- 嵌入式 Linux下tar.xz格式文件的解压方法
- Python 文件操作实现代码