Python实现CET查分的方法
2015-03-10 00:00
411 查看
本文实例讲述了Python实现CET查分的方法。分享给大家供大家参考。具体实现方法如下:
希望本文所述对大家的Python程序设计有所帮助。
#!/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实现CET查分的方法
- python也能实现类初始化方法需求更改的功能
- python 测试实现方法
- python扩展实现方法--python与c混和编程
- python用两种方法实现url短连接
- python实现后台进程的方法(源码)
- 再谈将C++语言源码转成html的方法(vim实现,可用于java,perl,python等等多种语言)
- Python 实现PHP内置MD5函数方法
- Python操作Sqlite正确实现方法解析
- 利用swig实现python调用C/C++的方法
- Boost Python 实现C调用python错误解决方法
- Python提取Linux内核源代码的目录结构实现方法
- Ganglia 扩展之 Python 实现方法
- Python对PHP服务器hmac_sha1签名认证方法的匹配实现
- python 测试实现方法
- Python中静态方法的实现
- Python 实现str类型修改的方法
- python 抽象类、抽象方法的实现
- Editplus借助python实现根据方法参数自动生成php注释
- Python_cmd的各种实现方法及优劣(subprocess.Popen, os.system和commands.getstatusoutput)