Python实现CET查分的方法


Posted in Python onMarch 10, 2015

Python CET自动查询方法需要用到的python方法模块有:sys、urllib2

本文实例讲述了Python实现CET查分的方法。分享给大家供大家参考。具体实现方法如下:

#!/usr/bin/python

# -*- coding: utf-8 -*-

import sys, urllib2

def CetQuery(band, exam_id):

    """CETQuery version 0.2  2009.2.28

    An Exercise Program by PT, GZ University

    Author Blog: http://apt-blog.co.cc , Welcome to Drop by.

    """

    #查询连接

    cet = "http://cet.99sushe.com/cetscore_99sushe0902.html?t=" + band + "&id=" + exam_id

    print "Connecting..."

    #构造HTTP头

    header = {'Referer':'http://cet.99sushe.com/'}

    #第二个参数出现则使用post方式提交

    req = urllib2.Request(cet, '', header)

    try:

        data = urllib2.urlopen(req).read()

    except BaseException, e:

        print "Error retrieving data:", e

        return -1

    if not len(result):

        print "Error Occured. Maybe record not existed."

        return -1

    #解码字符串

    result = data.decode("gb2312").encode("utf8")

    res_tu = tuple(result.split(','))

    score_tu = ("听力", "阅读", "综合", "写作", "总分", "学校", "姓名")

    print "n***** CET %s 成绩清单 *****" % (band)

    print "-准考证号: %s" % (exam_id)

    for i in range(7):

        print "-%s: %s" % (score_tu, res_tu)

    print "**************************n"

    print "准考证号前一位同学: %sn后两位同学分别是: %s、%s" % (res_tu[-3], res_tu[-2], res_tu[-1])

    return 0

if __name__ == "__main__":

    if (len(sys.argv) != 3) or

        (sys.argv[1] != '4' and sys.argv[1] != '6') or

        (len(sys.argv[2]) != 15):

        print "Error: 程序参数错误,考试类型(4、6),准考证号长度(15位)"

        print "nExample:nnCETQuery.py 4 123456789012345nn"

        print CetQuery.__doc__

        sys.exit(1)

    statue = CetQuery(sys.argv[1], sys.argv[2])

    sys.exit(statue)

希望本文所述对大家的Python程序设计有所帮助。

Python 相关文章推荐
python处理csv数据的方法
Mar 11 Python
Python字符串处理函数简明总结
Apr 13 Python
python批量读取txt文件为DataFrame的方法
Apr 03 Python
python实现嵌套列表平铺的两种方法
Nov 08 Python
python 重命名轴索引的方法
Nov 10 Python
python实现简单加密解密机制
Mar 19 Python
python买卖股票的最佳时机(基于贪心/蛮力算法)
Jul 05 Python
在交互式环境中执行Python程序过程详解
Jul 12 Python
python try except返回异常的信息字符串代码实例
Aug 15 Python
Python数据可视化:饼状图的实例讲解
Dec 07 Python
Python实现计算长方形面积(带参数函数demo)
Jan 18 Python
Python中logging日志的四个等级和使用
Nov 17 Python
Python实现的批量下载RFC文档
Mar 10 #Python
Python制作CSDN免积分下载器
Mar 10 #Python
Python Tkinter GUI编程入门介绍
Mar 10 #Python
Python格式化css文件的方法
Mar 10 #Python
Python将xml和xsl转换为html的方法
Mar 10 #Python
Python写的Tkinter程序屏幕居中方法
Mar 10 #Python
Python生成随机密码
Mar 10 #Python
You might like
PHP实现的简易版图片相似度比较
2015/01/07 PHP
JavaScript高级程序设计 DOM学习笔记
2011/09/10 Javascript
瀑布流布局并自动加载实现代码
2013/03/12 Javascript
javascript正则匹配汉字、数字、字母、下划线
2014/04/10 Javascript
ff chrome和ie下全局动态定位的异同及全局高度的取法
2014/06/30 Javascript
JavaScript使用setInterval()函数实现简单轮询操作的方法
2015/02/02 Javascript
jQuery实现垂直半透明手风琴特效代码分享
2015/08/21 Javascript
Jquery把获取到的input值转换成json
2017/05/15 jQuery
Vue项目中引入外部文件的方法(css、js、less)
2017/07/24 Javascript
vue.js项目 el-input 组件 监听回车键实现搜索功能示例
2018/08/25 Javascript
关于vue的npm run dev和npm run build的区别介绍
2019/01/14 Javascript
微信小程序如何修改本地缓存key中单个数据的详解
2019/04/26 Javascript
微信小程序动态添加和删除组件的现实
2020/02/28 Javascript
nuxt 自定义 auth 中间件实现令牌的持久化操作
2020/11/05 Javascript
windows系统中python使用rar命令压缩多个文件夹示例
2014/05/06 Python
浅谈python中拼接路径os.path.join斜杠的问题
2018/10/23 Python
Python学习笔记之lambda表达式用法详解
2019/08/08 Python
对Django中内置的User模型实例详解
2019/08/16 Python
python3.6中@property装饰器的使用方法示例
2019/08/17 Python
Python3基本输入与输出操作实例分析
2020/02/14 Python
Django操作session 的方法
2020/03/09 Python
windows10在visual studio2019下配置使用openCV4.3.0
2020/07/14 Python
python如何发送带有附件、正文为HTML的邮件
2021/02/27 Python
澳大利亚游乐场设备品牌:Lifespan Kids
2019/05/24 全球购物
Linux的主要特性
2014/10/06 面试题
AJAX应用和传统Web应用有什么不同
2013/08/24 面试题
JS原生实现轮播图的几种方法
2021/03/23 Javascript
外企财务年会演讲稿
2014/01/03 职场文书
和平主题的演讲稿
2014/01/12 职场文书
cf收人广告词大全
2014/03/14 职场文书
学校党风廉政建设调研报告
2015/01/01 职场文书
上班迟到检讨书
2015/05/06 职场文书
七年级英语教学反思
2016/02/15 职场文书
2016孝老爱亲模范事迹材料
2016/02/26 职场文书
详解Java七大阻塞队列之SynchronousQueue
2021/09/04 Java/Android
Mysql如何实现不存在则插入,存在则更新
2022/03/25 MySQL