|
本帖最后由 ZTO 于 2015-5-18 10:14 编辑 ; W0 N& ?+ d( y6 D7 o
4 s7 Z- A% Z. |
以中文词典为例,支持拼音、汉字、页码、原书目录索引。7 h* y& B* D; t' P9 J* G! G3 L3 [4 j. S
如图:
& m' X* F+ P9 O
9 T4 @) h+ \1 I; S) z: Y. n * I' D, U/ Y) o; J( H8 W
6 T6 K/ O8 k' Z# _) f6 r* u

# o: U# l+ m ~8 E* a索引简单录入:
; e5 {7 I% w+ ~. x0 [7 v @
6 f: a' J2 w. P9 [Python代码,针对读秀图片命名方式制作,索引生成为MAC OSX 词典格式,mdx格式见5楼:
) N9 U6 @% y$ c2 [" i" h7 s
4 a; {& S w) X* v- #!/usr/bin/env python
7 ~% ]1 h e+ z8 V+ j7 Y/ f4 ~+ J9 c - # -*- coding: utf-8 -*-! U: j) K8 n5 ^& P4 O f% S
- #准备好r.txt文件,将要索引的单词输入到r.txt文本文件中,每行一个单词,每行为一页.
6 h. ?8 w9 d. q7 y, H1 t9 m% I - #每页含有两个以上的词,每行的单词间用'|'分开:ab|ac|ad- `, M+ U2 z" o& P; N
- #python pyprint.py,结果写入index.txt文件# ^& I- u* M6 T5 ?7 a
- #for mac osx) U0 z5 G9 W* o0 h4 _3 q9 N
$ Y2 t' {! g0 t. _/ Q$ j- f = open('index.xml','w')
0 l9 G6 X& j2 i6 V0 o+ q - r = open('r.txt')2 q2 A6 |7 e$ Q4 j' }# S4 b" n* O
- count = 1# e" J8 R/ Q& L T
- 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', e* ?( T/ I8 H: l, J/ ~
- line = len(open('r.txt').readlines())
! f3 T$ @7 r* R4 |! f" T# _ - f.write('<?xml version="1.0" encoding="UTF-8"?>\n'7 u6 g2 {, z1 Q# O# R
- '<d:dictionary xmlns="http://www.w3.org/1999/xhtml" xmlns:d="http://www.apple.com/DTDs/DictionaryService-1.0.rng">\n')+ S6 X. U! @, c
% {; K' g# D" z% K$ R6 k1 H+ \- while (count <= line):4 E1 d! c1 {- T. a, D
- n = str(count)
" p6 F9 a4 ~4 N7 T# w$ H - s = n.zfill(6) #自动补0
( u* [& z$ _8 e( j: R" B! q3 N" v" Y! } - n1 = str(count-1)
8 f, H+ D! {: v. D3 r4 c" A - s1 = n1.zfill(6)0 H! B% y" p4 u6 [
- n2 = str(count+1)
5 r3 a7 w- B7 C; ?# V# Z - s2 = n2.zfill(6)
. p$ ?6 r- W0 s - f.write('<d:entry id="%s" d:title="%s">\n' % (s,s))
7 G+ A8 q7 E9 }( k+ H; y6 @) K2 Z - rd = r.readline()
9 v/ v6 J0 t, ] - rw = rd.strip('\n')9 {& w: A r8 { M9 N+ K' L& G& T
- for i in rw.split('|'):8 a6 f& t+ o; ?3 Q$ w( w, T1 h
- f.write(' <d:index d:value="%s"/>\n' % i.strip('\n'))
* P- O* A' x# {. _ - f.write(' <d:index d:value="%s"/>\n' % count)
/ G6 W1 l L) e - f.write(text % (s1,s2,s))
u! a" t$ S7 h - count = count + 1
+ y# N/ |9 e4 d, } Q - #目录索引5 l$ X: W m9 D5 ]2 J& O' Z5 n b
- ml = 1* ^' p, e. K1 D; b9 n; _+ v0 r
- #参数自行修改
% a5 |5 |# n, k' e$ @ - while (ml <= 75):; v: o! d$ l I: u2 n) y5 d7 |
- n = str(ml)9 [) h& W' u8 z( m
- s = n.zfill(5) #自动补0 |% h. }7 D4 f
- n1 = str(ml-1)$ M5 M/ Z/ |; n% V0 `
- s1 = n1.zfill(5)6 r* l8 G" L( J
- n2 = str(ml+1)
z! U$ L M! U& V7 l+ t1 J$ g+ U$ R - s2 = n2.zfill(5)
* @+ n4 @* q* O' o% j7 N# |3 { - p = '!' + s% v+ N5 v! t& G/ n. ~6 p9 l
- p1 = '!' + s1
3 r% r1 ~0 A9 Z$ n3 `* x: D0 j, j - p2 = '!' + s2 7 Z; h# @$ ^$ g* X
- f.write('<d:entry id="%s" d:title="%s">\n' % (p,p))# T& E7 J+ x0 ?, j% Z
- f.write(' <d:index d:value="%s"/>\n' % p)) c+ |. ?5 Q2 w* Y4 f$ ]1 ]6 e
- f.write(text % (p1,p2,p))8 \ c. W" y4 y
- ml = ml + 14 x/ Y$ ]# _: b8 i
- f.write('</d:dictionary>\n')
* u) e) ?9 E' ]. I - f.close()
# O/ `' [7 A L7 k
# y L7 J" }$ B/ A" a. N- #css: w5 s3 ]- c) S0 [* @
- c = open('dic.css','w')
9 Y7 O( Q- L! M( u. r4 O - 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;}') }' m+ \& n0 K! d+ l6 T- }& J
- c.close()
复制代码
. J* }5 W6 B$ M5 n% ~ |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?免费注册
x
|