#!/usr/bin/python

# -*- coding:utf-8 -*-

#通过有道翻译来进行内容翻译

import urllib2

import urllib

import json

#---------翻译方法定义 start---------#

def transfer( transferStr , lanSource ='auto' ):

data = {'type':lanSource,'i':transferStr,'doctype':'json','xmlVersion':'1.8','keyfrom':'fanyi.web','ue':'UTF-8','action':'FY_BY_CLICKBUTTON','typoResult':'true'}

data = urllib.urlencode(data).encode('utf-8')

response = urllib2.urlopen(url,data)

content = response.read().decode('utf-8')

result = json.loads(content)

result = result['translateResult'][0][0]['tgt'].encode('utf-8')

return result

#---------翻译方法定义 end--------#

language = ['中文-日语','中文-英语','中文-韩语','中文-法语','中文-俄语','中文-西班牙语','auto'] #翻译语言列表

lanMap = ['ZH_CN2EN','ZH_CN2JA','ZH_CN2KR','ZH_CN2FR','ZH_CN2RU','ZH_CN2SP'] #翻译语言映射

url = "http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule&smartresult=ugc&sessionFrom=null" #翻译的url地址

lanStr = ''

for i in range(len(language)):

lanStr += str(i) + '--->' + language[i] + "\n"

num = int(raw_input('请输入你要翻译的语言:\n%s' % lanStr))

len = len(lanMap)

if(num > len):

raw_input('输入错误,按任意键退出!')

exit()

elif num == len:

type = 'auto'

else:

type = lanMap[num]

print("你选择的翻译语种是:%s" % language[num])

keywords = raw_input('请输入你要翻译的内容:')

result = transfer(keywords,type)

print("%s(%s)翻译的结果为:%s" %(keywords,language[num],result))

python翻译词典实例的更多相关文章

  1. python第六天 函数 python标准库实例大全

    今天学习第一模块的最后一课课程--函数: python的第一个函数: 1 def func1(): 2 print('第一个函数') 3 return 0 4 func1() 1 同时返回多种类型时, ...

  2. Python操作Mysql实例代码教程在线版(查询手册)_python

    实例1.取得MYSQL的版本 在windows环境下安装mysql模块用于python开发 MySQL-python Windows下EXE安装文件下载 复制代码 代码如下: # -*- coding ...

  3. python 类和实例

    面向对象最重要的概念就是类(Class)和实例(Instance),必须牢记类是抽象的模板,比如Student类,而实例是根据类创建出来的一个个具体的“对象”,每个对象都拥有相同的方法,但各自的数据可 ...

  4. Python 解析XML实例(xml.sax)

    已知movies.xml <collection shelf="New Arrivals"> <movie title="Enemy Behind&qu ...

  5. python连接mysql实例分享_python

    示例一 #coding=UTF-8 import sys import MySQLdb import time reload(sys) sys.setdefaultencoding('utf-8') ...

  6. 4. python 修改字符串实例总结

    4. python 修改字符串实例总结 我们知道python里面字符串是不可原处直接修改的,为了是原来的字符串修改过来,我们有一下方法: 1.分片和合并 >>> a='abcde'  ...

  7. python类和实例以及__call__/__del__

    面向对象最重要的概念就是类(Class)和实例(Instance),必须牢记类是抽象的模板,比如Student类,而实例是根据类创建出来的一个个具体的“对象”,每个对象都拥有相同的方法,但各自的数据可 ...

  8. 进程,线程,以及Python的多进程实例

    什么是进程,什么是线程? 进程与线程是包含关系,进程包含了线程. 进程是系统资源分配的最小单元,线程是系统任务执行的最小单元. 打个比方,打开word,word这个程序是一个进程,里面的拼写检查,字数 ...

  9. Python机器学习经典实例电子版和附带源码

    Python机器学习经典实例电子版和附带源码 下载:https://pan.baidu.com/s/1m6ODNJk--PWHW8Vdsdjs-g 提取码:nyc0 分享更多python数据分析相关电 ...

  10. Python 多进程爬虫实例

    Python  多进程爬虫实例 import json import re import time from multiprocessing import Pool import requests f ...

随机推荐

  1. Java类和对象 小白版

    一.类 一.类的定义 具有同种属性的对象称为类.定义了它所包含的全体对象的公共特征和功能,对象就是类的一个实例化. 类的三种常见成员:属性.方法.构造器 二.类的编写 1.类名的定义: 2.类属性(特 ...

  2. 18-canvas绘制饼状图

    1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="U ...

  3. SMU Summer 2023 Contest Round 9(2019 山东省大学生程序设计竞赛)

    2019 山东省大学生程序设计竞赛 A. Calandar 纯模拟吧(感觉我做麻烦了(?), 就是如果问的是未来的日期,就用相隔天数取模后加上这天的星期, 如果问的是曾经的,就用这天的星期减去相隔天数 ...

  4. Java常用类——包装类 小白版个人推荐

    包装类及自动装箱/拆箱 包装类是将Java中的八种基本数据类型封装成的类,所有数据类型都能很方便地与对应的包装类相互转换,以解决应用中要求使用数据类型,而不能使用基本数据类型的情况. int a = ...

  5. PySide6/PyQt开发经验总结(2) - 设置快捷键

    Qt设置快捷键 本文仅供本人知识总结使用,所以内容会比较浅显,不喜勿喷. 目录 Qt设置快捷键 一.需要的类 QShortcut 函数: 二.设置快捷键 官方文档原文翻译: 我的理解: 一.需要的类 ...

  6. 免费、开源、详细完整的unity游戏、游戏源码、教程:人工智能分析和处理对话的美好三维世界(定期更新)

    这份unity游戏.游戏源码.教程:完全免费,完全开源,完整详细,通俗易懂,适合初学者入门,定期更新. 我不想和任何人说话,任何人不要跟我说话,不要打扰我,我要安安静静的写.我解释一下原因: 俗话说& ...

  7. Honor X20 忽然不能与Android Studio 连接

    背景:前一天还正常使用,可以连接Android Studio,第二天就连不上了 已知:数据线没问题,驱动没问题,设备开了开发者模式,连接上电脑时会提示已连接USB调试, 测试过程:(点击撤销USB调试 ...

  8. 【YashanDB知识库】如何使用yasldr导入lob类型?

    问题现象 在各个项目实施中,有时候会使用到yasldr工具进行csv数据的导入.关于yasldr一般的使用方法,官方文档已经有详细的介绍,具体可见:yasldr使用指导.但在涉及LOB类型的导入时,会 ...

  9. C++:使自定义类支持迭代器

    概述 在 C++ 中,链表迭代器是一种用来遍历链表(如 std::list)元素的工具.链表是一种数据结构,其中每个元素(节点)包含一个数据值和一个指向下一个节点的指针.链表迭代器允许以类似于数组的方 ...

  10. C# 基础 – 装箱 / 拆箱, 堆 / 栈

    前言 有些概念可能你用不到, 但是懂也无妨. 装箱 / 拆箱 参考: C#装箱和拆箱(Boxing 和 UnBoxing) 通常讲到这些都跟性能有关. 把值类型变成引用类型就叫装箱. int numb ...