Python3.x 进阶之路-翻译模块

时间:2022-05-29 23:58:53

Git 地址 python 翻译模块

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

python translate.py chinese
python translate.py -z 中文

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

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)