本帖最后由 lalla1 于 2013-5-16 08:33 编辑
[Shell] 纯文本查看 复制代码 #! /usr/bin/python
# -*- coding: utf-8 -*-
#######################################
#
#e.g. how are you [e2c]
# 你好 c2e
# 2013.5.15
#######################################
import urllib.request,urllib.parse
import os,sys
import json
API_KEY = <百度apikey>
DU_TRANS_URL = 'http://openapi.baidu.com/public/2.0/bmt/translate?client_id=%s&q=%s&from=%s&to=%s'
def translate(src,flag):
print(src)
#exit(0)
if flag == 'c2e':#chinese to english
srclanguage = 'zh'
destlanguage = 'en'
#src_urlencode = src.encode('utf-8')
elif flag == 'e2c':# english to chinese
srclanguage = 'en'
destlanguage = 'zh'
#src_urlencode = src
else:
print('Wrong Flag, use c2e(chinese to english) or e2c(english to chinese)!!')
exit(-1)
try:
#src_urlencode = src
response =urllib.request.urlopen(DU_TRANS_URL%(API_KEY,urllib.parse.quote(src),srclanguage,destlanguage))
except Exception as e:
raise Exception('Connect to Server Fail!' + str(e))
jsonData = json.loads(response.read().decode('utf-8'))
if 'error_code' in response:
raise Exception('trans error:' + jsonData['error_msg'])
print('src:',jsonData['trans_result'][0]['src'],'\ndst:',jsonData['trans_result'][0]['dst'])
if __name__=='__main__':
while 1:
translatesting = input()
if translatesting == '':#空串结束
exit(0)
translatesting_l = translatesting.split()
if translatesting_l[-1] == 'e2c':
translate(' '.join(translatesting_l[0:-1]),'e2c')
elif translatesting_l[-1] == 'c2e':
translate(''.join(translatesting_l[0:-1]),'c2e')
else:
translate(' '.join(translatesting_l[0:]),'e2c')#默认是英译汉 |