|
本帖最后由 ZTO 于 2015-5-18 10:14 编辑
/ K. B! q, a2 L+ V; I0 \0 r* T. o" M3 j1 i
以中文词典为例,支持拼音、汉字、页码、原书目录索引。
( a' R! R7 t' L4 x; Q. G如图:
6 M i$ S% R' j1 u% r
; F) u: Q, R4 a, V' p e
3 p' z6 b& Y3 x( l, \# ]" M( B& W% ^# _; U
$ G8 m' y0 z6 y索引简单录入:
$ H$ x5 P& ^* Z# }% C3 K0 _( L9 Q5 Q: v! M! a6 B( p( A/ J# w
Python代码,针对读秀图片命名方式制作,索引生成为MAC OSX 词典格式,mdx格式见5楼:- e X' H* J8 b7 Y( ]) ~9 T
( w: P+ C5 K& p& [/ s- #!/usr/bin/env python
. M9 s4 C, E6 F+ l5 {5 V7 A - # -*- coding: utf-8 -*-
* v. h- U9 e6 u& U/ G) a' B7 H - #准备好r.txt文件,将要索引的单词输入到r.txt文本文件中,每行一个单词,每行为一页.
6 f4 `2 [( n* ~2 w% M( b7 k - #每页含有两个以上的词,每行的单词间用'|'分开:ab|ac|ad4 U7 Q) ?" D* f+ O& I0 U
- #python pyprint.py,结果写入index.txt文件. h$ d* i, k+ [2 N, R8 A
- #for mac osx* F, Z% |; d9 I- y5 O0 Y
3 U% a7 |& v4 e7 j' g5 a- f = open('index.xml','w')
7 i- P1 Y5 w, x+ v# \ o& P - r = open('r.txt')/ T! A) ]: L/ p9 g- C6 Z
- count = 1
' O: Y3 N* V: W) X* ~ ] - text = '<html><body><link Ahref="DefaultStyle.css" rel="stylesheet" type="text/css"/><div><a class="play" href="" onclick="document.getElementById(\'index\').style.display = \'block\'; return false;"></a><div class="index" id="index"><a class="hide" href="" onclick="document.getElementById(\'index\').style.display = \'none\'; return false;"></a><a class="left" href="x-dictionary:r:%s">☜</a><a class="A" href="A">A</a><a class="B" href="B">B</a><a class="C" href="C">C</a><a class="D" href="D">D</a><a class="E" href="E">E</a><a class="F" href="F">F</a><a class="G" href="G">G</a><a class="H" href="H">H</a><a class="I" href="I">I</a><a class="J" href="J">J</a><a class="K" href="K">K</a><a class="L" href="L">L</a><a class="M" href="M">M</a><a class="N" href="N">N</a><a class="O" href="O">O</a><a class="P" href="P">P</a><a class="Q" href="Q">Q</a><a class="R" href="R">R</a><a class="S" href="S">S</a><a class="T" href="T">T</a><a class="U" href="U">U</a><a class="V" href="V">V</a><a class="W" href="W">W</a><a class="X" href="X">X</a><a class="Y" href="Y">Y</a><a class="Z" href="Z">Z</a><a class="right" href="x-dictionary:r:%s">☞</a></div></div><img class="img" src="images/%s.jpg"/>\n</body></html>\n</d:entry>\n'/ Y d% M/ b' |8 R" a" Y+ l
- line = len(open('r.txt').readlines())
! \1 r* d! [4 X3 B& @! q; f - f.write('<?xml version="1.0" encoding="UTF-8"?>\n'
, s, _, e7 u/ C# a - '<d:dictionary xmlns="http://www.w3.org/1999/xhtml" xmlns:d="http://www.apple.com/DTDs/DictionaryService-1.0.rng">\n')! N, t% d# e; p
6 U( G, e; i; Q7 U) [' f/ m5 {- while (count <= line):
3 l3 x% e0 R. _" T - n = str(count)
* e, c0 ~( f, f. o+ m! A- C - s = n.zfill(6) #自动补0* j6 M! z* \4 }" e+ _
- n1 = str(count-1)( N/ v' D2 Q4 R. X& o R6 i, m
- s1 = n1.zfill(6)
. L1 C* R: _0 k, B6 l: T. C5 p - n2 = str(count+1)
! e. j* {0 y) f: m$ j$ W - s2 = n2.zfill(6)
% L- T, w! [8 ~, u1 r% ^ - f.write('<d:entry id="%s" d:title="%s">\n' % (s,s))
1 ]8 R) {2 ~% f3 u( I I - rd = r.readline()
+ m7 ~" W' q, Q) s8 ~ - rw = rd.strip('\n'). F/ D! Z8 f; ~4 \' H! {9 ^) s- |
- for i in rw.split('|'):- S4 [( @% i9 `! C
- f.write(' <d:index d:value="%s"/>\n' % i.strip('\n'))
, ~) M6 B9 J# C - f.write(' <d:index d:value="%s"/>\n' % count)
% G ^& Y% A. R0 ^4 X0 I% u# E& M+ f - f.write(text % (s1,s2,s))
% `: A( {. A, X - count = count + 1
- C1 P8 |% g& Y! C+ z - #目录索引7 ?' z' V0 a* s7 x, S d; G$ k
- ml = 1
' d: J; g F7 x0 Z - #参数自行修改
% G) e: E; I ~$ r% S - while (ml <= 75):
}7 v. o, h# g9 d k - n = str(ml)9 i- {6 x1 e5 K: M1 b& Q2 m
- s = n.zfill(5) #自动补0
5 v7 f9 E1 h( y- ?2 \1 Q) O, v' n - n1 = str(ml-1)5 }- S" a1 q+ \( T! o0 S
- s1 = n1.zfill(5)
9 l/ ^( a$ U0 `% m. n, B - n2 = str(ml+1) ?: V6 E9 t6 r) q. z2 c
- s2 = n2.zfill(5)" K" m; d7 U- X# d" ^
- p = '!' + s
% N: ^+ ?3 I6 E* J$ G - p1 = '!' + s14 u/ O0 X7 T% B9 q p
- p2 = '!' + s2 5 M m0 ^% j3 t( \! _+ x C. h
- f.write('<d:entry id="%s" d:title="%s">\n' % (p,p))
2 C& F- w9 }% ?( F3 ~ - f.write(' <d:index d:value="%s"/>\n' % p)5 F2 ~" y5 v' Y' p" L. W& G
- f.write(text % (p1,p2,p))& u; J2 ]- y* M
- ml = ml + 1" n; s. R& \5 Z0 c! c
- f.write('</d:dictionary>\n')
/ z' K: @. _" D! V, V) N2 N4 r - f.close()
- V9 X/ [ T- c e. L% {& @
) W$ q/ O3 f' L# O' Y- #css
0 h9 i- l6 h6 a! O1 L - c = open('dic.css','w')
0 D6 f4 [+ F5 r6 L - c.write('.hide,.A,.B,.C,.D,.E,.F,.G,.H,.I,.J,.K,.L,.M,.N,.O,.P,.Q,.R,.S,.T,.U,.V,.W,.X,.Y,.Z,.left,.right{display: block;text-align: center;text-decoration:none;color:#5484C8;background: #DCDCDC; color: #fff;border-radius:8px;margin:1px;}\na:hover {color: #FF9900;}\n .play,.index{float:right;position:fixed;right:15px;height:100%;line-height:20px;overflow:scroll;margin-top:20%;}\n.left,.right{display: block;font-size:24px;text-decoration:none;line-height:20px;}\n.img{width:100%;}\n .play{text-decoration:none;}'). L$ z6 @( |6 X. M4 r
- c.close()
复制代码 . N4 l+ Q' i9 i# |0 b: B
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?免费注册
x
|