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进行基础的函数式编程的教程
Mar 31 Python
python中私有函数调用方法解密
Apr 29 Python
你眼中的Python大牛 应该都有这份书单
Oct 31 Python
python使用pycharm环境调用opencv库
Feb 11 Python
如何在python开发工具PyCharm中搭建QtPy环境(教程详解)
Feb 04 Python
更新升级python和pip版本后不生效的问题解决
Apr 17 Python
python保留格式汇总各部门excel内容的实现思路
Jun 01 Python
Python selenium实现断言3种方法解析
Sep 08 Python
python Zmail模块简介与使用示例
Dec 19 Python
python opencv实现直线检测并测出倾斜角度(附源码+注释)
Dec 31 Python
Python中的流程控制详解
Feb 18 Python
Python djanjo之csrf防跨站攻击实验过程
May 14 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
thinkPHP使用post方式查询时分页失效的解决方法
2015/12/09 PHP
PHP递归获取目录内所有文件的实现方法
2016/11/01 PHP
JavaScript监测ActiveX控件是否已经安装过的代码
2008/09/02 Javascript
javascript 极速 隐藏/显示万行表格列只需 60毫秒
2009/03/28 Javascript
js获取数组的最后一个元素
2015/04/14 Javascript
jquery实现图片水平滚动效果代码分享
2015/08/26 Javascript
微信小程序 Page()函数详解
2016/10/17 Javascript
利用策略模式与装饰模式扩展JavaScript表单验证功能
2017/02/14 Javascript
JQ中$(window).load和$(document).ready区别与执行顺序
2017/03/01 Javascript
使用gulp搭建本地服务器并实现模拟ajax
2017/04/05 Javascript
7个好用的JavaScript技巧分享(译)
2019/05/07 Javascript
extjs4图表绘制之折线图实现方法分析
2020/03/06 Javascript
javascript 设计模式之享元模式原理与应用详解
2020/04/08 Javascript
vue添加自定义右键菜单的完整实例
2020/12/08 Vue.js
[07:55]2014DOTA2 TI正赛第三日 VG上演推进荣耀DKEG告别
2014/07/21 DOTA
手动实现把python项目发布为exe可执行程序过程分享
2014/10/23 Python
Python实现的概率分布运算操作示例
2017/08/14 Python
Python 用三行代码提取PDF表格数据
2019/10/13 Python
Python 异步协程函数原理及实例详解
2019/11/13 Python
python实现while循环打印星星的四种形状
2019/11/23 Python
Python代码块及缓存机制原理详解
2019/12/13 Python
Python加密模块的hashlib,hmac模块使用解析
2020/01/02 Python
PyCharm 无法 import pandas 程序卡住的解决方式
2020/03/09 Python
python语音识别指南终极版(有这一篇足矣)
2020/09/09 Python
国际奢侈品品牌童装购物网站:Designer Childrenswear
2019/05/08 全球购物
市场营销方案范文
2014/03/11 职场文书
经典禁毒标语
2014/06/16 职场文书
英语三分钟演讲稿
2014/08/19 职场文书
客房部经理岗位职责
2015/02/02 职场文书
2016学习雷锋精神活动倡议书
2015/04/27 职场文书
毕业论文指导老师意见
2015/06/04 职场文书
宝宝满月宴答谢词
2015/09/30 职场文书
2016年主题党日活动总结
2016/04/05 职场文书
Python 流媒体播放器的实现(基于VLC)
2021/04/28 Python
python中的random模块和相关函数详解
2022/04/22 Python
Win11使用CAD卡顿或者致命错误怎么办?Win11无法正常使用CAD的解决方法
2022/07/23 数码科技