Python实现中英文翻译方法总结
#Author:Chenglong Qian
#Copyright :Chenglong Qian
import json
import requests
import re
import os
import sys num=392
def translator(str):
"""
input : str 需要翻译的字符串
output:translation 翻译后的字符串
有每小时1000次访问的限制
"""
global num;
num=num+1
print("Program has process %d times "%num)
# API
url = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule&smartresult=ugc&sessionFrom=null'
# 传输的参数, i为要翻译的内容
key = {
'type': "AUTO",
'i': str,
"doctype": "json",
"version": "2.1",
"keyfrom": "fanyi.web",
"ue": "UTF-8",
"action": "FY_BY_CLICKBUTTON",
"typoResult": "true"
}
# key 这个字典为发送给有道词典服务器的内容
response = requests.post(url, data=key)
# 判断服务器是否相应成功
if response.status_code == 200:
# 通过 json.loads 把返回的结果加载成 json 格式
result = json.loads(response.text)
# print ("输入的词为:%s" % result['translateResult'][0][0]['src'])
# print ("翻译结果为:%s" % result['translateResult'][0][0]['tgt'])
translation = result['translateResult'][0][0]['tgt']
return translation
else:
print("有道词典调用失败")
# 相应失败就返回空
return None def file_translator(file_name):
file = os.listdir(file_name)
for i in file:
if i.endswith('.srt'):
filepath = os.path.join(dir, i)
name = i[:-4]
with open(filepath) as f:
with open(name + "-translate.srt", 'w', encoding='utf-8') as f_trans:
content = f.readlines()#读取文件
transcontent = ''
for i in content:#遍历每一行
pattern = r'.*?([>a-zA-Z].*?[a-zA-Z].*?)\n'
flag = re.search(pattern, i)
if flag !=None:
transcontent=translator(flag.string)
transcontent=transcontent+r'\n'
f_trans.write(transcontent)
f_trans.write(i)
else:
f_trans.write(i) dir=r'D:\srt'
def main():
global num
if num<950:
file_translator(dir) main()
https://blog.csdn.net/qq_36771895/article/details/90510742
Python实现中英文翻译方法总结的更多相关文章
- Python有哪些好用的语言翻译方法
最近有个需求,要将几万条数据从日语翻译成中文.因为数据的获取和处理用的是python代码,所以想先尝试翻译部分也用python实现. 目前网上查到的翻译方法有百度.有道云以及谷歌翻译,下面会对这三个方 ...
- python字符串操作实方法大合集
python字符串操作实方法大合集,包括了几乎所有常用的python字符串操作,如字符串的替换.删除.截取.复制.连接.比较.查找.分割等,需要的朋友可以参考下: #1.去空格及特殊符号 s.st ...
- Python批量图片识别并翻译——我用python给女朋友翻译化妆品标签
Python批量图片识别并翻译--我用python给女朋友翻译化妆品标签 最近小编遇到一个生存问题,女朋友让我给她翻译英文化妆品标签.美其名曰:"程序猿每天英语开发,英文一定很好吧,来帮我翻 ...
- python 类属性与方法
Python 类属性与方法 标签(空格分隔): Python Python的访问限制 Python支持面向对象,其对属性的权限控制通过属性名来实现,如果一个属性有双下划线开头(__),该属性就无法被外 ...
- Python执行系统命令的方法 os.system(),os.popen(),commands
os.popen():用python执行shell的命令,并且返回了结果,括号中是写shell命令 Python执行系统命令的方法: https://my.oschina.net/renwofei42 ...
- python 调用 shell 命令方法
python调用shell命令方法 1.os.system(cmd) 缺点:不能获取返回值 2.os.popen(cmd) 要得到命令的输出内容,只需再调用下read()或readlines()等 ...
- python 面向对象、特殊方法与多范式、对象的属性及与其他语言的差异
1.python 面向对象 文章内容摘自:http://www.cnblogs.com/vamei/archive/2012/06/02/2532018.html 1.__init__() 创建对 ...
- python 字典内置方法get应用
python字典内置方法get应用,如果我们需要获取字典值的话,我们有两种方法,一个是通过dict['key'],另外一个就是dict.get()方法. 今天给大家分享的就是字典的get()方法. 这 ...
- [转] python程序的调试方法
qi09 原文 python程序的调试方法 本文讨论在没有方便的IDE工具可用的情况下,使用pdb调试python程序 源码例子 例如,有模拟税收计算的程序: #!/usr/bin/python de ...
随机推荐
- Linux 查看文件夹大小(排序)
du -s * | sort -nr (-n是按数字大小排序,不能加上参数h)
- 【多线程】无锁编程以及CAS
无锁编程 / lock-free / 非阻塞同步 无锁编程,即不使用锁的情况下实现多线程之间的变量同步,也就是在没有线程被阻塞的情况下实现变量的同步,所以也叫非阻塞同步(Non-blocking Sy ...
- Windows Xp Sp3官方简体中文版(原版) 纯净安装版 百度网盘下载
百度网盘下载: 1.链接:https://pan.baidu.com/s/1o-HcKddSG6IAz_0COKhq8Q 提取码:hkhr 2.扫码下载:
- angular-cli项目报Error encountered resolving symbol values statically. Function calls are not supported.错误的处理。
安装同事打包的一个模块,报了这么个错,不过在其他地方使用是正常的. Error encountered resolving symbol values statically. Function cal ...
- Python基础-main
Python基础-_main_ 写在前面 如非特别说明,下文均基于Python3 一.__main__的官方解释 参考 _main_ -- Top-level script environment ' ...
- mac查看python安装路径
1.terminal : input: which Python 或者 which Python3 2.terminal: input : python --->import sys --- ...
- Hexo next博客的pjax一个Bug引发的关于pjax用法的小技巧-----pjax后图片点击放大的js失效
文章目录 广告: 背景 发现 解决 get技能 广告: 本人博客地址:https://mmmmmm.me 源码:https://github.com/dataiyangu/dataiyangu.git ...
- CentOS 7.4安装telnet服务端
CentOS 7.4安装telnet服务端 安装xinetd服务 # yum -y install xinetd 安装telnet-server # yum -y install telnet-ser ...
- 两分钟学会Unity3D布娃娃的使用
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/wangbin_jxust/article/details/28587233 在RPG游戏中,为了让人 ...
- 挂载时出现mount: RPC: Unable to receive; errno = Connection refused错误的解决方法
当我们在做NFS开发板下挂载时,经常会出现mount: RPC: Unable to receive; errno = Connection refused的错误,连接被拒绝了,到底是什么原因呢? 这 ...