CPPU-TimeTableSearching
CPPU查询某一节课有多少人上课
初始化
首先,点击上方链接进入本项目仓库发行版界面,下载最新档到本地并打开目录。
- 使用有权限的账号登录本(专)科生教务管理系统
- 点击排课管理
- 选择课表管理
- 进入课表查询
- 选择学生课表
- 点击批量生成课表
- 选择学年学期与学员队,单击确定并等待教务系统生成出所有人的课表
文件夹模式
由于作为办公室主任,需要方便自己管理本队的文件,所以在这里我提供了方便管理的文件夹模式。(如果你不需要文件夹模式,我还提供了下载完课表和本程序后直接统计的办法,请跳至 非文件夹模式 章节)
下载课表rar文件并按照如下文件目录放置文件。
└CPPU-TimeTableSearching
├xxxx-xxxx学年 第X学期 课表
│├教室(*可选,仅为了方便管理)
││├XXXXXX_教室课表.xls
││├...
││└XXXXXX_教室课表.xls
|├教学班(*可选,仅为了方便管理)
||├常规班级
|||├常规班级_xxXXx队1班(XX)_X...X(X...X)_班级课表.xls
|||├常规班级_xxXXx队2班(XX)_X...X(X...X)_班级课表.xls
|||├...
|||└常规班级_xxXXx队x班(XX)_X...X(X...X)_班级课表.xls
||├分级班
|||├分级班_xxXXxxx班(X...X)(X...X)_班级课表.xls
|||├...
|||└分级班_xxXXxxx班(X...X)(X...X)_班级课表.xls
||└综合(需要自己制作如下内容)
|| ├综合_xxXXx队1班(XX)_X...X(X...X)_班级课表.xls
|| ├综合_xxXXx队2班(XX)_X...X(X...X)_班级课表.xls
|| ├...
|| └综合_xxXXx队x班(XX)_X...X(X...X)_班级课表.xls
|└学生
| ├1班
| |├xxXXx队1班(XX)_xxxxxxxxxx_X..X_学员课表.xls
| |├...
| |└xxXXx队1班(XX)_xxxxxxxxxx_X..X_学员课表.xls
| ├2班
| |├xxXXx队2班(XX)_xxxxxxxxxx_X..X_学员课表.xls
| |├...
| |└xxXXx队2班(XX)_xxxxxxxxxx_X..X_学员课表.xls
| ├...
| └x班
| ├xxXXx队x班(XX)_xxxxxxxxxx_X..X_学员课表.xls
| ├...
| └xxXXx队x班(XX)_xxxxxxxxxx_X..X_学员课表.xls
└统计用
├xxxx-xxxx学年 第X学期(程序会自己创建)
├班.py
├查询.py
├成队.py
├队.py
└配置.py
现在请跳转至 配置 章节对程序进行配置。
非文件夹模式
我知道不少队使用本项目仅仅是为了统计自己队的人员在队情况,因此提供了一份只用下载解压的模式。
下载课表rar文件并解压,然后如下文件目录放置文件。
└CPPU-TimeTableSearching
├xxxx-xxxx学年 第X学期XXXX一队
|├xxXXx队x班(XX)_xxxxxxxxxx_X..X_学员课表.xls
|├...
|└xxXXx队x班(XX)_xxxxxxxxxx_X..X_学员课表.xls
└统计用
├xxxx-xxxx学年 第X学期(程序会自己创建)
├班.py
├查询.py
├成队.py
├队.py
└配置.py
现在请跳转至 配置 章节对程序进行配置。
配置
首先,你需要进入目录统计用
。接着,你应该用文本编辑器(例如记事本)打开配置.py
,编辑配置。
semester
type: str
请在等号后填入学期,格式为'xxxx-xxxx学年 第X学期'
,例如:'2021-2022学年 第一学期'
,请注意不要删掉前后的单引号。这是CPPU学期的标准格式。
totalweeks
type: int
请在等号后填入学期的总周数,按我上学的情况,一般是20周。
startyear,startmonth,startday
type: int, type: int, type: int
请在等号后填入学期开始日日期,三个数字间用英文半角逗号,
分隔,例如:2021,8,30
。
classnum
type: int
请在等号后填入你们队教学班级的总数,比如我们队就是6个教学班级。 该配置项为文件夹模式特有配置项,非文件夹模式下可删除该项。
filepre
type: str
请在等号后填入你下载到的课表文件的前缀,格式为'xxXXx队x班(XX)_xxxxxxxxxx_'
,比如我们队就是'20政治1队1班(政工)_2020200001_'
。你无需在意每个数字具体应当为多少,只需要其长度和这串字符串相同即可,例如我们队的话直接填入'xxXXx队x班(XX)_xxxxxxxxxx_'
就可以正常工作。请注意不要删掉前后的单引号。
filesuf
type: str
请在等号后填入你下载到的课表文件的后缀,一般就是'_学员课表.xls'
,你可以根据需要修改。请注意不要删掉前后的单引号。
foldermode
type: bool
请在等号后填入是否启用文件夹模式,值为True时为文件夹模式,值为False时为非文件夹模式。具体的文件放置方法请参考 初始化 章节。
foldersuf
type: str
请在等号后填入你下载到的课表文件的文件夹后缀,格式为'XXXX一队'
,比如我们队就是'公安政治一队'
,请注意不要删掉前后的单引号。 该配置项为非文件夹模式特有配置项,文件夹模式下可删除该项。
快速统计队内全学期上课时间对应的上课人数
统计时分文件夹模式和非文件夹模式,请跳至对应章节查看统计方法。
文件夹模式下统计
你应该按如下步骤执行脚本
python 班.py
python 成队.py
这样可以生成一份课表统计列表,文件放在统计用\xxxx-xxxx学年 第X学期
文件夹中,方便安排队内事务。
对于xxxx-xxxx学年 第X学期文件夹中的文件说明如下:
你会看到如下列表的文件
└CPPU-TimeTableSearching
└统计用
└xxxx-xxxx学年 第X学期
├0n.xls
├1n.xls
├2n.xls
├...
└xn.xls
所有xls文件与CPPU课表格式相同。
- 0n.xls中包含的信息是全队统计的上课人数。
- xn.xls中包含的信息是按班统计后的单个教学班的上课人数。
非文件夹模式下统计
你应该执行如下脚本
python 队.py
这样可以生成一份课表统计列表,文件放在统计用\xxxx-xxxx学年 第X学期
文件夹中,方便安排队内事务。你会在该文件夹下看到文件0n.xls
└CPPU-TimeTableSearching
└统计用
└xxxx-xxxx学年 第X学期
└0n.xls
xls文件与CPPU课表格式相同。
- 0n.xls中包含的信息是全队统计的上课人数。
查询某节课有多少人有课/无课以及对应的名单
你应该执行以下命令查询某一天某一节课的人员情况。
python 查询.py
你会在执行中收到如下询问
年:
月:
日:
课(12、34、56、78、910):
有课人员(0)/无课人员(1):
你应该给出回答,例如
年:2021
月:9
日:13
课(12、34、56、78、910):910
有课人员(0)/无课人员(1):0
你会看到如下提示
查询结果已保存在文件X:\...\CPPU-TimeTableSearching\统计用\结果xxxxxxxxxxxxxx.txt中
你可以在当前目录下找到结果xxxxxxxxxxxxxx.txt,打开即可查看到查询结果,根据示例中的回答,文件内容如下
2021年09月13日 星期一 第910节课 xxx人有课
XXX
XX
XXX
XX
XX
XXX
XX
XX
XXX
XXX
XXX
XXX
XXX
XX
XX
XX
XXX
XX
XXX
第一行最后一部分就是统计出的人数,下方就是统计出来的人员名单。