Python实现句子翻译功能


Posted in Python onNovember 14, 2017

初入Python,一开始就被她简介的语法所吸引,代码简洁优雅,之前在C#里面打开文件写入文件等操作相比Python复杂多了,而Python打开、修改和保存文件显得简单得多。

1、打开文件的例子:

file=open('D:\\Python\\untitled\\Hello.txt','r',encoding='utf-8')
 data=file.read()
 print(data)
 file.close()

2、利用urllib库请求页面进行简单的翻译,请求百度翻译,将要翻译的内容当做参数传给百度,然后将结果赋值给参数,最后打印出来:

上代码:

import urllib.request
import urllib.parse
import json

content=input("=====请输入您要翻译的内容:=====\n")

url='http://fanyi.baidu.com/v2transapi'
data={}
data['from']='zh'
data['to']='en'
data['transtype']='translang'
data['simple_means_flag']='3'
data['query']=content
data=urllib.parse.urlencode(data).encode('utf-8')
response=urllib.request.urlopen(url,data)
html=response.read().decode('utf-8')
target=json.loads(html)
print("翻译结果为:%s"%(target['trans_result']['data'][0]['dst']))

实现效果如图:

Python实现句子翻译功能

实现代码很简单,下面再分享下urllib库的一些用法。

urlopen 语法

urllib.request.urlopen(url,data=None,[timeout,]*,cafile=None,capath=None,cadefault=False,context=None)
#url:访问的网址
#data:额外的数据,如header,form data

用法

# request:GET
import urllib.request
response = urllib.request.urlopen('http://www.baidu.com')
print(response.read().decode('utf-8'))

# request: POST
# http测试:http://httpbin.org/
import urllib.parse
import urllib.request
data = bytes(urllib.parse.urlencode({'word':'hello'}),encoding='utf8')
response = urllib.request.urlopen('http://httpbin.org/post',data=data)
print(response.read())

# 超时设置
import urllib.request
response = urllib.request.urlopen('http://httpbin.org/get',timeout=1)
print(response.read())

import socket
import urllib.request
import urllib.error

try:
  response = urllib.request.urlopen('http://httpbin.org/get',timeout=0.1)
except urllib.error.URLError as e:
  if isinstance(e.reason,socket.timeout):
    print('TIME OUT')

响应

# 响应类型
import urllib.open
response = urllib.request.urlopen('https:///www.python.org')
print(type(response))
# 状态码, 响应头
import urllib.request
response = urllib.request.urlopen('https://www.python.org')
print(response.status)
print(response.getheaders())
print(response.getheader('Server'))

Request

声明一个request对象,该对象可以包括header等信息,然后用urlopen打开。

# 简单例子
import urllib.request
request = urllib.request.Requests('https://python.org')
response = urllib.request.urlopen(request)
print(response.read().decode('utf-8'))

# 增加header
from urllib import request, parse
url = 'http://httpbin.org/post'
headers = {
  'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36'
  'Host':'httpbin.org'
}
# 构造POST表格
dict = {
  'name':'Germey'
}
data = bytes(parse.urlencode(dict),encoding='utf8')
req = request.Request(url=url,data=data,headers=headers,method='POST')
response = request.urlopen(req)
print(response.read()).decode('utf-8')
# 或者随后增加header
from urllib import request, parse
url = 'http://httpbin.org/post'
dict = {
  'name':'Germey'
}
req = request.Request(url=url,data=data,method='POST')
req.add_hader('User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36')
response = request.urlopen(req)
print(response.read().decode('utf-8'))

总结

以上就是本文关于Python实现句子翻译功能的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站:

如有不足之处,欢迎留言指出。

Python 相关文章推荐
python模拟登陆Tom邮箱示例分享
Jan 13 Python
关于numpy中np.nonzero()函数用法的详解
Feb 07 Python
Python cookbook(数据结构与算法)实现优先级队列的方法示例
Feb 18 Python
Python 编码规范(Google Python Style Guide)
May 05 Python
Python闭包函数定义与用法分析
Jul 20 Python
Python实现的简单计算器功能详解
Aug 25 Python
python用post访问restful服务接口的方法
Dec 07 Python
python hough变换检测直线的实现方法
Jul 12 Python
Django项目中使用JWT的实现代码
Nov 04 Python
春节到了 教你使用python来抢票回家
Jan 06 Python
你可能不知道的Python 技巧小结
Jan 29 Python
Python 实现自动完成A4标签排版打印功能
Apr 09 Python
简述:我为什么选择Python而不是Matlab和R语言
Nov 14 #Python
Python与R语言的简要对比
Nov 14 #Python
Python基础语言学习笔记总结(精华)
Nov 14 #Python
Python利用multiprocessing实现最简单的分布式作业调度系统实例
Nov 14 #Python
python中os和sys模块的区别与常用方法总结
Nov 14 #Python
Python 将RGB图像转换为Pytho灰度图像的实例
Nov 14 #Python
人机交互程序 python实现人机对话
Nov 14 #Python
You might like
十天学会php之第十天
2006/10/09 PHP
php学习笔记 php中面向对象三大特性之一[封装性]的应用
2011/06/13 PHP
php自动加载机制的深入分析
2013/06/08 PHP
php用header函数实现301跳转代码实例
2013/11/25 PHP
php array_merge_recursive 数组合并
2016/10/26 PHP
PHP基于堆栈实现的高级计算器功能示例
2017/09/15 PHP
PHP实现将base64编码字符串转换成图片示例
2018/06/22 PHP
js自执行函数的几种不同写法的比较
2012/08/16 Javascript
兼容IE和Firefox火狐的上下、左右循环无间断滚动JS代码
2013/04/19 Javascript
jQuery Trim去除字符串首尾空字符的实现方法说明
2014/02/11 Javascript
JavaScript DSL 流畅接口(使用链式调用)实例
2015/03/15 Javascript
微信小程序 action-sheet 反馈上拉菜单简单实例
2017/05/11 Javascript
JS获取短信验证码倒计时的实现代码
2017/05/22 Javascript
php register_shutdown_function函数详解
2017/07/23 Javascript
javascript将list转换成树状结构的实例
2017/09/08 Javascript
JavaScript数组排序reverse()和sort()方法详解
2017/12/24 Javascript
父组件中vuex方法更新state子组件不能及时更新并渲染的完美解决方法
2018/04/25 Javascript
详解node Async/Await 更好的异步编程解决方案
2018/05/10 Javascript
JS面向对象编程实现的拖拽功能案例详解
2020/03/03 Javascript
Taro UI框架开发小程序实现左滑喜欢右滑不喜欢效果的示例代码
2020/05/18 Javascript
js和jquery判断数据类型的4种方法总结
2020/08/28 jQuery
Javascript生成器(Generator)的介绍与使用
2021/01/31 Javascript
Python with的用法
2014/08/22 Python
Django自定义认证方式用法示例
2017/06/23 Python
使用Python编写Prometheus监控的方法
2018/10/15 Python
Python序列化与反序列化pickle用法实例
2019/11/11 Python
python多进程重复加载的解决方式
2019/12/13 Python
Python定时任务框架APScheduler原理及常用代码
2020/10/05 Python
python爬虫工具例举说明
2020/11/30 Python
HTML5+css3:3D旋转木马效果相册
2017/01/03 HTML / CSS
美国最大的高尔夫发球时间预订网站:TeeOff.com
2018/03/28 全球购物
Strawberrynet草莓网新加坡站:护肤、彩妆、香水及美发产品
2018/08/31 全球购物
大学生活动策划方案
2014/02/10 职场文书
《美丽的丹顶鹤》教学反思
2014/04/22 职场文书
2014幼儿教师个人工作总结
2014/12/03 职场文书
现货白银电话营销话术
2015/05/29 职场文书