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中使用PIL库实现图片高斯模糊实例
Feb 08 Python
python随机生成指定长度密码的方法
Apr 04 Python
Pyhthon中使用compileall模块编译源文件为pyc文件
Apr 28 Python
Python使用chardet判断字符编码
May 09 Python
在Qt5和PyQt5中设置支持高分辨率屏幕自适应的方法
Jun 18 Python
10分钟用python搭建一个超好用的CMDB系统
Jul 17 Python
Python爬虫实现“盗取”微信好友信息的方法分析
Sep 16 Python
使用pyinstaller逆向.pyc文件
Dec 20 Python
Python 读取有公式cell的结果内容实例方法
Feb 17 Python
Python实现队列的方法示例小结【数组,链表】
Feb 22 Python
翻转数列python实现,求前n项和,并能输出整个数列的案例
May 03 Python
基于Python 的语音重采样函数解析
Jul 06 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数组函数序列之each() - 获取数组当前内部指针所指向元素的键名和键值,并将指针移到下一位
2011/10/31 PHP
php设计模式之单例、多例设计模式的应用分析
2013/06/30 PHP
PHP @ at 记号的作用示例介绍
2014/10/10 PHP
10个简化PHP开发的工具
2014/12/25 PHP
PHP加MySQL消息队列深入理解
2021/02/27 PHP
File文件控件,选中文件(图片,flash,视频)即立即预览显示
2009/04/09 Javascript
setTimeout与setInterval在不同浏览器下的差异
2010/01/24 Javascript
jQuery学习笔记[1] jQuery中的DOM操作
2010/12/03 Javascript
jQuery数组处理方法汇总
2011/06/20 Javascript
简单学习JavaScript中的for语句循环结构
2015/11/10 Javascript
nodejs简单实现操作arduino
2016/09/25 NodeJs
使用PBFunc在Powerbuilder中支付宝当面付款功能
2016/10/01 Javascript
AngularJS压缩JS技巧分析
2016/11/08 Javascript
微信小程序 欢迎界面开发的实例详解
2016/11/30 Javascript
JavaScript提高加载和执行效率的方法
2017/02/03 Javascript
浅谈原生JS实现jQuery的animate()动画示例
2017/03/08 Javascript
JavaScript代码执行的先后顺序问题
2017/10/29 Javascript
vue使用 better-scroll的参数和方法详解
2018/01/25 Javascript
JS获取当前时间的年月日时分秒及时间的格式化的方法
2019/12/18 Javascript
基于VSCode调试网页JavaScript代码过程详解
2020/07/20 Javascript
浅谈python中列表、字符串、字典的常用操作
2017/09/19 Python
python实现12306抢票及自动邮件发送提醒付款功能
2018/03/08 Python
Python地图绘制实操详解
2019/03/04 Python
python中while和for的区别总结
2019/06/28 Python
python for和else语句趣谈
2019/07/02 Python
解决python 读取 log日志的编码问题
2019/12/24 Python
PyQt5高级界面控件之QTableWidget的具体使用方法
2020/02/23 Python
Python3 获取文件属性的方式(时间、大小等)
2020/03/12 Python
Glamest意大利:女性在线奢侈品零售店
2019/04/28 全球购物
网游商务专员求职信
2013/10/15 职场文书
师范类求职信
2014/06/21 职场文书
信仰心得体会
2014/09/05 职场文书
家长对学校的意见和建议
2015/06/03 职场文书
三八妇女节新闻稿
2015/07/17 职场文书
大学迎新生欢迎词
2015/09/29 职场文书
iPhone13再次曝光
2021/04/15 数码科技