本文实例讲述了Python实现CET查分的方法。分享给大家供大家参考。具体实现方法如
本文来源gaodai.ma#com搞#代!码网_
下:
#!/usr/bin/python<br /># -*- coding: utf-8 -*-<br />import sys, urllib2<br />def CetQuery(band, exam_id):<br /> """CETQuery version 0.2 2009.2.28<br /> An Exercise Program by PT, GZ University<br /> Author Blog: http://apt-blog.co.cc , Welcome to Drop by.<br /> """<br /> #查询连接<br /> cet = "http://cet.99sushe.com/cetscore_99sushe0902.html?t=" + band + "&id=" + exam_id<br /> print "Connecting..."<br /> #构造HTTP头<br /> header = {'Referer':'http://cet.99sushe.com/'}<br /> #第二个参数出现则使用post方式提交<br /> req = urllib2.Request(cet, '', header)<br /> try:<br /> data = urllib2.urlopen(req).read()<br /> except BaseException, e:<br /> print "Error retrieving data:", e<br /> return -1<br /> if not len(result):<br /> print "Error Occured. Maybe record not existed."<br /> return -1<br /> #解码字符串<br /> result = data.decode("gb2312").encode("utf8")<br /> res_tu = tuple(result.split(','))<br /> score_tu = ("听力", "阅读", "综合", "写作", "总分", "学校", "姓名")<br /> print "n***** CET %s 成绩清单 *****" % (band)<br /> print "-准考证号: %s" % (exam_id)<br /> for i in range(7):<br /> print "-%s: %s" % (score_tu, res_tu)<br /> print "**************************n"<br /> print "准考证号前一位同学: %sn后两位同学分别是: %s、%s" % (res_tu[-3], res_tu[-2], res_tu[-1])<br /> return 0<br />if __name__ == "__main__":<br /> if (len(sys.argv) != 3) or<br /> (sys.argv[1] != '4' and sys.argv[1] != '6') or<br /> (len(sys.argv[2]) != 15):<br /> print "Error: 程序参数错误,考试类型(4、6),准考证号长度(15位)"<br /> print "nExample:nnCETQuery.py 4 123456789012345nn"<br /> print CetQuery.__doc__<br /> sys.exit(1)<br /> statue = CetQuery(sys.argv[1], sys.argv[2])<br /> sys.exit(statue)
希望本文所述对大家的Python程序设计有所帮助。