//--------------------------------------------------------------------------------------
// 作者:蚂蚁会游泳
// 日期:2022.07.08
//--------------------------------------------------------------------------------------
前言
在使用Linux系统时,有些单词不认识,我们可以利用python脚本来查询汉语词义,本文将对配置方法进行介绍。
一、Python脚本的获取
描述:
系统:CentOS7
开发语言:python3
代码:
感谢@wufeifei
https://github.com/dantangfan/fanyi
使用方法:
python3 fanyi.py [word]
#!/usr/bin/python3
import sys
import json
import urllib
import urllib.request
class Dict:
key = '716426270'
keyFrom = 'wufeifei'
api = 'http://fanyi.youdao.com/openapi.do?keyfrom=wufeifei&key=716426270&type=data&doctype=json&version=1.1&q='
content = None
def __init__(self, argv):
if len(argv) == 1:
self.api = self.api + urllib.parse.quote(argv[0])
self.translate()
else:
print('ERROR')
def translate(self):
content = urllib.request.urlopen(self.api).read()
self.content = json.loads(content)
self.parse()
def parse(self):
code = self.content['errorCode']
if code == 0: # Success
try:
u = self.content['basic']['us-phonetic'] # English
e = self.content['basic']['uk-phonetic']
except KeyError:
try:
c = self.content['basic']['phonetic'] # Chinese
except KeyError:
c = 'None'
u = 'None'
e = 'None'
try:
explains = self.content['basic']['explains']
except KeyError:
explains = 'None'
print ('\033[1;31m################################### \033[0m')
print ('\033[1;31m# \033[0m', self.content['query'], self.content['translation'][0],)
if u != 'None':
print ('(U:', u, 'E:', e, ')')
elif c != 'None':
print ('(Pinyin:', c, ')')
else:
print
if explains != 'None':
for i in range(0, len(explains)):
print ('\033[1;31m# \033[0m', explains[i])
else:
print ('\033[1;31m# \033[0m Explains None')
print ('\033[1;31m################################### \033[0m')
# Phrase
# for i in range(0, len(self.content['web'])):
# print self.content['web'][i]['key'], ':'
# for j in range(0, len(self.content['web'][i]['value'])):
# print self.content['web'][i]['value'][j]
elif code == 20: # Text to long
print ('WORD TO LONG')
elif code == 30: # Trans error
print ('TRANSLATE ERROR')
elif code == 40: # Don't support this language
print ('CAN\'T SUPPORT THIS LANGUAGE')
elif code == 50: # Key failed
print ('KEY FAILED')
elif code == 60: # Don't have this word
print ('DO\'T HAVE THIS WORD')
if __name__ == '__main__':
Dict(sys.argv[1:])
二、环境配置
- 切换到root管理员用户;
- 在
/usr/local/bin
目录下新建/fanyi
目录;
- 将fanyi.py文件复制到该目录;
- 在
/usr/bin
目录下新建一个名称为fy
的文件;
- 在文件中输入
python /usr/local/bin/fanyi/fanyi.py $@
,然后将文件保存;
- 输入
chmod +x fy
修改fy文件的权限;
- 输入fy test进行测试,配置完毕!
说明:
/usr/bin/属于环境变量,在这个文件夹下新建的文件,系统能很容易找到。
如下图所示,经过配置后,fy
变成了一个外部命令。