falldog 发表于 2015-4-27 11:04:52

Linux下Python实现有道词典

    最近发现,用Linux系统比Window的工作和学习效率高多了,做任何事情都更直接有效, 而且现在绝大部分应用都是基于WEB的;所以,以后尽量用Linux了. 以下是用Python脚本实现的有道词典. 当然是参考了大牛的代码, 其中有某些部分出了点问题, 一是正则匹配, 二是颜色输出.
    Python代码的主要流程:
  a. 带输入查询词调有道的WEB API
      b. 使用正则匹配得到翻译内容
    c. 格式化输出结果, 若需要配置颜色, 增加相应的shell配色参数.
  1. Python代码



1 #! /usr/bin/python
2 import re;
3 import urllib;
4 import urllib2;
5 import sys;
6 def debug():
7   xml = open("word.xml").read();
8   print get_text(xml);
9   print get_elements_by_path(xml, "custom-translation/content");
10   #print_translations(xml, False, False);
11
12 def get_elements_by_path(xml, elem):
13   if type(xml) == type(''):
14         xml = ;
15   if type(elem) == type(''):
16         elem = elem.split('/');
17   if (len(xml) == 0):
18         return [];
19   elif (len(elem) == 0):
20         return xml;
21   elif (len(elem) == 1):
22         result = [];
23         for item in xml:
24             result += get_elements(item, elem);
25         return result;
26   else:
27         subitems = [];
28         for item in xml:
29             subitems += get_elements(item, elem);
30         return get_elements_by_path(subitems, elem);
31
32 textre = re.compile("
页: [1]
查看完整版本: Linux下Python实现有道词典