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返回真假值(True or False)小技巧
Apr 10 Python
python获得linux下所有挂载点(mount points)的方法
Apr 29 Python
Python实现建立SSH连接的方法
Jun 03 Python
Python通过select实现异步IO的方法
Jun 04 Python
Python的Twisted框架中使用Deferred对象来管理回调函数
May 25 Python
Python实现读取并保存文件的类
May 11 Python
PyCharm在win10的64位系统安装实例
Nov 26 Python
Python用字典构建多级菜单功能
Jul 11 Python
Python使用lambda表达式对字典排序操作示例
Jul 25 Python
Python 实现顺序高斯消元法示例
Dec 09 Python
python 如何将office文件转换为PDF
Sep 22 Python
python把一个字符串切开的实例方法
Sep 27 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
第二节 对象模型 [2]
2006/10/09 PHP
php 清除网页病毒的方法
2008/12/05 PHP
PHP在引号前面添加反斜杠(PHP去除反斜杠)
2013/09/28 PHP
Yii2框架使用计划任务的方法
2016/05/25 PHP
PHP模块化安装教程
2016/06/01 PHP
比较完整的微信开发php代码
2016/08/02 PHP
基于逻辑运算的简单权限系统(实现) JS 版
2007/03/24 Javascript
JavaScript iframe的相互操作浅析
2009/10/14 Javascript
AngularJS入门心得之directive和controller通信过程
2016/01/25 Javascript
jquery获取table指定行和列的数据方法(当前选中行、列)
2016/11/07 Javascript
如何实现json数据可视化详解
2016/11/24 Javascript
手机移动端实现 jquery和HTML5 Canvas的幸运大奖盘特效
2016/12/06 Javascript
一个简易的js图片轮播效果
2017/07/22 Javascript
详解基于Vue的支持数据双向绑定的select组件
2019/09/02 Javascript
javaScript中indexOf用法技巧
2019/11/26 Javascript
extjs4图表绘制之折线图实现方法分析
2020/03/06 Javascript
Python中让MySQL查询结果返回字典类型的方法
2014/08/22 Python
跟老齐学Python之使用Python操作数据库(1)
2014/11/25 Python
Python 3中的yield from语法详解
2017/01/18 Python
Python中执行存储过程及获取存储过程返回值的方法
2017/10/07 Python
django orm 通过related_name反向查询的方法
2018/12/15 Python
Python创建临时文件和文件夹
2020/08/05 Python
学前教育毕业生自荐信
2013/10/29 职场文书
店长岗位职责
2013/11/21 职场文书
加工操作管理制度
2014/01/19 职场文书
教职工代表大会主持词
2014/04/01 职场文书
服务之星事迹材料
2014/05/03 职场文书
项目投资合作意向书
2014/07/29 职场文书
授权委托书
2014/09/17 职场文书
教师党的群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
导游欢迎词范文
2015/01/23 职场文书
2015年社会实践个人总结
2015/03/06 职场文书
2015年房产经纪人工作总结
2015/05/15 职场文书
水知道答案观后感
2015/06/08 职场文书
详解如何使用Nginx解决跨域问题
2022/05/06 Servers
MySQL count(*)统计总数问题汇总
2022/09/23 MySQL