admin管理员组

文章数量:1532440

Python 进阶之路-翻译模块

作者:nango  阅读:1749次  来源:原创  时间:2017-07-14 17:09

Git 地址 [python 翻译模块](https://github/nangge/python-/tree/master/translate)

该模块主要功能为在linux系统下,通过命令行方式快速进行中英文翻译;在window doc模式下由于编码问题暂不支持英文译中文;具体用法如下:

```

python translate.py chinese

python translate.py -z 中文

```

![](/uploads/20170714/c737f8a64edd4ace8a31efae6e8a8ef1.png)

该翻译模块主要依赖模块为:

```

urllib、json、getopt、sys、xml、colorama

```

## 涉及知识点归纳:

- 字典类型(dict);

该数据类型使用键-值(key-value)对存储,可以方比那快捷的进行数据查找。

用法介绍:

```

#声明一个字典并初始化数据;

#该字典用来存储翻译结果所对应的显示颜色

STRC = {'key':Fore.CYAN,'ps':Fore.BLUE,'pos':Fore.CYAN,'acceptation':'','orig':Fore.YELLOW,'trans':Fore.GREEN}

#获取

STRC['key'] #Fore.CYAN

```

##### - getopt 模块

该模块是专门用来处理命令行参数的,

它提供一个getopt函数,用法如下:

```

getopt(args, shortopts, longopts = [])

参数args一般是sys.argv[1:]

shortopts 短格式 (-)

longopts 长格式(--)

“hp:”

短格式 --- h 后面没有冒号:表示后面不带参数,p:和 i:后面有冒号表示后面需要参数

["help","zh"]

长格式 --- help后面没有等号=,表示后面不带参数,如果有=,表示后面需要参数

实例:

options, args = getopt.getopt(sys.argv[1:], "hz", ['help','zh'])

#h、z为短格式命令参数

python translate.py -z 中文

#help、zh为长格式命令参数

python translate.py --help

```

##### - with ··· as ···:

with语句主要用来处理上下文环境问题,它可以自动关闭文件、线程锁的自动获取和释放等;

##### - urllib的urlopen函数

该函数创建一个表示远程url的类文件对象,然后像本地文件一样操作这个类文件对象来获取远程数据;简单理解就为,该函数返回的结果就相当于一个本地文件,你可以对它进行读操作;用法如下:

```

with request.urlopen(url) as f:

data = f.read()

```

##### - xml 模块

该模块用来处理xml格式字符串或文件数据。

用法如下:

```

from xml.dom import minidom

#data为xml结构的字符串,如果要解析一个文件中的数据,使用parse方法即可。

每一个结点都有它的nodeName,nodeValue,nodeType属性。

#解析一个xml字符串

DOMTree = minidom.parseString(data)

#得到文档元素对象

root = DOMTree.documentElement

#判断是否还有子节点

if nodes.hasChildNodes():

#接着遍历子节点

for no in nodes.childNodes:

xml_show(no)

else:

#获取节点的标签

tag = nodes.parentNode.tagName

if tag in STRC:

#输出值

color(nodes.nodeValue.replace('\n',''),STRC[tag])

```

##### - colorama 模块

该模块主要用来向控制台输出彩色文字,使用该模块需要先安装

```

pip install colorama

```

用法如下:

```

from colorama import init,Fore

#通过使用autoreset参数可以让变色效果只对当前输出起作用,输出完成后颜色恢复默认设置

init(autoreset=True)

#字符串前边颜色设置指字体的前景色,后边颜色设置指颜色背景色

#颜色值有RED、GREEN、BLUE、MAGENTA、CYAN、WHITE、BLACK

print(Fore.RED + 'nango' + Fore.RESET)

```

本文标签: 模块进阶之路英译汉Python