Python实现CET查分的方法

yipeiwu_com6年前Python基础

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实现超简单端口转发的方法。分享给大家供大家参考。具体如下: 代码非常简单,实现了简单的端口数据转发功能,用于真实环境还需要再修改一下。 复制代码 代码如下:#t...

python如何把嵌套列表转变成普通列表

如何把[1, 5, 6, [2, 7, [3, [4, 5, 6]]]]变成[1, 5, 6, 2, 7, 3, 4, 5, 6]? 思考:   -- for循环每次都遍历列表一层   ...

Python中的复制操作及copy模块中的浅拷贝与深拷贝方法

程序中常常需要复制一个对象, 按思路应该是这样的 a = [1, 2, 3] b = a # [1, 2, 3] print b 已经复制好了,但是现在得改变一下第一个元素...

Python程序员面试题 你必须提前准备!(答案及解析)

Python程序员面试题 你必须提前准备!(答案及解析)

在发布《Python程序员面试,这些问题你必须提前准备!》一文后,应广大程序员朋友的强烈要求,小编就Python程序员面试必备问题整理了一份参考答案,希望能对准备换工作的程序员朋友有所帮...

Python将图片转换为字符画的方法

Python将图片转换为字符画的方法

最近在学习Python,看到网上用Python将图片转换成字符画便来学习一下 题目意思是,程序读入一个图片,以txt格式输出图片对应的字符画,如图所示: 以下是Python代码:...