1. 教务处接口

class njupt.Zhengfang(username=None, password=None, sso_session=None)

南邮正方教务, sso登录方式参见 njupt.SSO 单点登录

>>> # 👍 推荐使用sso登录来获取正方实例,速度更快
>>> from njupt import SSO
>>> sso = SSO(username='B12345678', password='abcdefgh') # 账号密码为my.njupt.edu.cn账号密码
>>> zf = sso.zhengfang()
>>> # 😐 传统的正方账号密码方式, 速度慢
>>> from njupt import Zhengfang
>>> zf = Zhengfang(username='B12345678', password='abcdefgh')
get_course_info(courser_code)

获取课程的简介信息

参数

courser_code – 课程代码

返回类型

dict

get_courses()

获取这学期的选课情况

返回

格式参看例子,期中interval为1则为单周,2则为双周。 这些信息足够生成课表了

返回类型

list of dict

>>> zf.get_courses()
[
    {
        'class_start': 8,
        'class_end': 9,
        'day': 1,
        'name': '市场营销',
        'room': '教4-101',
        'teacher': '王波(男)',
        'week': '第1-15周|单周',
        'interval': 2,
        'week_end': 15,
        'week_start': 1
    },
    ...
]
get_gpa()

获取GPA

返回类型

int

>>> zf.get_gpa()
5.0
get_gpa_under_pku()

获取按照北大GPA算法计算的绩点

返回

北大算法绩点,注意是计算了任选课和重修课的成绩

>>>zf.get_gpa_under_pku()

get_gpa_under_zju()

获取按照浙大GPA算法计算的绩点

返回

浙大算法绩点,注意是计算了任选课和重修课的成绩

>>> zf.get_gpa_under_zju()
get_schedule(week, year=None, semester=None)

获取指定学期指定周的课表(不传入年份和学期则默认当前学期), 不推荐使用

参数
  • year – 学年 格式为 “2017-2018”

  • semester – 学期 数字1或2

  • week – 周次 数字 1-20

返回

二维列表schedule,schedule[i][j]代表周i第j节课的课程。 为了方便,i或j为零0的单元均不使用。 列表的元素为None,代表没有课程,或描述课程信息的dict

>>> zf.get_schedule(week=1, year='2017-2018', semester=1)
[
    {
        'classroom': '教4-202',
        'name': '技术经济学',
        'teacher': '储成祥'
    }
]
list_exam_grades()

获取等级考试成绩信息

返回类型

list of dict

返回

列表,内容为每次等级考试的信息

>>> zf.list_exam_grades()
[
    {
        '学年': '2015-2016',
        '学期': 1,
        '等级考试名称': '全国大学英语四级考试',
        '准考证号': '320082152113313',
        '考试日期': datetime.datetime(2015, 12, 19, 0, 0),
        '成绩': '710'
        '写作成绩': '',
        '综合成绩': ''
    },
    ...
]
list_exam_scores()

获取参加过的考试的成绩列表

返回类型

list[dict]

返回

返回一个包含考试成绩信息字典的列表, 注意是所有参加过的考试

>>> zf.list_exam_scores()
[
    {
        '备注': '',
        '学分': 3.0,
        '学年': '2016-2017',
        '学期': 1,
        '学院名称': '电子科学与工程学院',
        '成绩': 90.0,
        '绩点': 4.0,
        '补考成绩': '',
        '课程代码': 'B0400111S',
        '课程名称': '模拟电子线路C',
        '课程归属': '',
        '课程性质': '必修',
        '课程英文名称': '',
        '辅修标记': '0',
        '重修成绩': '',
        '重修标记': '0'
    },
    ...
]
list_optional_courses()

获取可选课程列表,对应于教务系统 -> 网上选课 -> 学生选课

返回类型

list of dict

返回

可选课程信息列表

Raise

njupt.exceptions.TemporaryBannedException