python实验 命令行使用有道翻译

作为第一个不水的实验。

#!/usr/bin/env python  防止操作系统用户没有将python装在默认路径
# -*- coding:utf-8 -*-


import json
import sys

try:  #py3
 from urllib.parse import urlparse(),quote,unquote(解码),urlencode(将键值对转换为我们想要的格式)
 from urllib.request import urlopen
except: #py2
 from urllib import urlencode,quote,unquote
 from urllib import urlopen


def fetch(que_str=''):
 que_str=que_str.strip(" ' ").strip(' " ').strip()
 if not que_str:
  query_str='python'

 print(que_str)
 query={
  'q':que_str
 }
 url='http://fanyi.youdao.com/openapi.do?keyfrom=11pegasus11&key=273646050&type=data&doctype=json&version=1.1&' + urlencode(query)
 response=urlopen(url,timeout=3)
 html=response.read().decode('utf=8')
 return html

def parse(html):
 d=json.loads(html)  #json.dump()把一个python对象编码转换成json字符串

 try:
  if d.get('errorCode')==0:
   explains=d.get('basic').get('explains')
   for i in explains:
    print(i)


  else:
   print('无法翻译')

 except:
  print('翻译出错,请输入合法单词')


def main():
 try:
  s=sys.argv[1]   模块名之后的参数
 except IndexError:
  s='python'
 parse(fetch(s))


if __name__=='__main__':
 main()

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1 前言 作为一名合格的数据分析师,其完整的技术知识体系必须贯穿数据获取、数据存储、数据提取、数据分析、数据挖掘、...
    whenif阅读 18,107评论 45 523
  • 两本不错的书: 《Python参考手册》:对Python各个标准模块,特性介绍的比较详细。 《Python核心编程...
    静熙老师哈哈哈阅读 3,388评论 0 80
  • 基础1.r''表示''内部的字符串默认不转义2.'''...'''表示多行内容3. 布尔值:True、False(...
    neo已经被使用阅读 1,732评论 0 5
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,991评论 19 139
  • 经常会听到有人说“我一点自信都没有”,“我挺自信的”…你呢,是否对自己充满信心?众所周知,自信心是成功的首...
    A小蜗牛阅读 219评论 2 0