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多线程学习资料
Dec 19 Python
在Python中使用列表生成式的教程
Apr 27 Python
python返回昨天日期的方法
May 13 Python
用tensorflow实现弹性网络回归算法
Jan 09 Python
用TensorFlow实现lasso回归和岭回归算法的示例
May 02 Python
python批量爬取下载抖音视频
Jun 17 Python
python+opencv实现移动侦测(帧差法)
Mar 20 Python
OpenCV Python实现拼图小游戏
Mar 23 Python
Python Selenium截图功能实现代码
Apr 26 Python
Python尾递归优化实现代码及原理详解
Oct 09 Python
利用Python如何画一颗心、小人发射爱心
Feb 21 Python
Anaconda配置各版本Pytorch的实现
Aug 07 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 eval函数用法总结
2012/10/31 PHP
关于扩展 Laravel 默认 Session 中间件导致的 Session 写入失效问题分析
2016/01/08 PHP
php工具型代码之印章抠图
2018/07/18 PHP
动态加载js的方法汇总
2015/02/13 Javascript
jQuery使用addClass()方法给元素添加多个class样式
2015/03/26 Javascript
完美实现bootstrap分页查询
2015/12/09 Javascript
JS获取CSS样式(style/getComputedStyle/currentStyle)
2016/01/19 Javascript
JS学习之表格的排序简单实例
2016/05/16 Javascript
Node.js + Redis Sorted Set实现任务队列
2016/09/19 Javascript
javascript实现图片左右滚动效果【可自动滚动,有左右按钮】
2016/09/19 Javascript
vue2笔记 — vue-router路由懒加载的实现
2017/03/03 Javascript
微信小程序getPhoneNumber获取用户手机号
2017/09/29 Javascript
Vue2.X 通过AJAX动态更新数据
2018/07/17 Javascript
vue+vue-router转场动画的实例代码
2018/09/01 Javascript
vue+element 实现商城主题开发的示例代码
2020/03/26 Javascript
[02:20]2014DOTA2西雅图邀请赛 MVP外卡赛首胜采访
2014/07/09 DOTA
用smtplib和email封装python发送邮件模块类分享
2014/02/17 Python
Python下singleton模式的实现方法
2014/07/16 Python
python将图片文件转换成base64编码的方法
2015/03/14 Python
python 对txt中每行内容进行批量替换的方法
2018/07/11 Python
pycharm 在windows上编辑代码用linux执行配置的方法
2018/10/27 Python
利用ctypes获取numpy数组的指针方法
2019/02/12 Python
Python基础之文件读取的讲解
2019/02/16 Python
基于TensorFlow中自定义梯度的2种方式
2020/02/04 Python
在django中form的label和verbose name的区别说明
2020/05/20 Python
在TensorFlow中实现矩阵维度扩展
2020/05/22 Python
详解Python中@staticmethod和@classmethod区别及使用示例代码
2020/12/14 Python
使用CSS3的font-face字体嵌入样式的方法讲解
2016/05/13 HTML / CSS
女性时尚在线:IVRose
2019/02/23 全球购物
屈臣氏越南官网:Watsons越南
2021/01/14 全球购物
水利公司纪检监察自我鉴定
2014/02/25 职场文书
委托书模板
2014/04/04 职场文书
表扬稿范文
2015/01/17 职场文书
食品质检员岗位职责
2015/04/08 职场文书
起诉意见书范文
2015/05/19 职场文书
python中sqllite插入numpy数组到数据库的实现方法
2021/06/21 Python