python编写交互界面查分_Python实现CET查分的方法

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程序设计有所帮助。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值