CPPU-TimeTableSearching

William Peter Matthew ...
  • CPPU-TimeTableSearching
大约 6 分钟

CPPU查询某一节课有多少人上课

Github下载 (opens new window) | Gitee下载 (opens new window)

# 初始化

首先,点击上方链接进入本项目仓库发行版界面,下载最新档到本地并打开目录。

  1. 使用有权限的账号登录本(专)科生教务管理系统
  2. 点击排课管理
  3. 选择课表管理
  4. 进入课表查询
  5. 选择学生课表
  6. 点击批量生成课表
  7. 选择学年学期与学员队,单击确定并等待教务系统生成出所有人的课表

# 文件夹模式

由于作为办公室主任,需要方便自己管理本队的文件,所以在这里我提供了方便管理的文件夹模式。(如果你不需要文件夹模式,我还提供了下载完课表和本程序后直接统计的办法,请跳至 非文件夹模式 章节)

下载课表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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42

现在请跳转至 配置 章节对程序进行配置。

# 非文件夹模式

我知道不少队使用本项目仅仅是为了统计自己队的人员在队情况,因此提供了一份只用下载解压的模式。

下载课表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
1
2
3
4
5
6
7
8
9
10
11
12

现在请跳转至 配置 章节对程序进行配置。

# 配置

首先,你需要进入目录统计用。接着,你应该用文本编辑器(例如记事本)打开配置.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
1
2

这样可以生成一份课表统计列表,文件放在统计用\xxxx-xxxx学年 第X学期文件夹中,方便安排队内事务。

对于xxxx-xxxx学年 第X学期文件夹中的文件说明如下:

你会看到如下列表的文件

└CPPU-TimeTableSearching
 └统计用
  └xxxx-xxxx学年 第X学期
   ├0n.xls
   ├1n.xls
   ├2n.xls
   ├...
   └xn.xls
1
2
3
4
5
6
7
8

所有xls文件与CPPU课表格式相同。

  • 0n.xls中包含的信息是全队统计的上课人数。
  • xn.xls中包含的信息是按班统计后的单个教学班的上课人数。

# 非文件夹模式下统计

你应该执行如下脚本

python 队.py
1

这样可以生成一份课表统计列表,文件放在统计用\xxxx-xxxx学年 第X学期文件夹中,方便安排队内事务。你会在该文件夹下看到文件0n.xls

└CPPU-TimeTableSearching
 └统计用
  └xxxx-xxxx学年 第X学期
   └0n.xls
1
2
3
4

xls文件与CPPU课表格式相同。

  • 0n.xls中包含的信息是全队统计的上课人数。

# 查询某节课有多少人有课/无课以及对应的名单

你应该执行以下命令查询某一天某一节课的人员情况。

python 查询.py
1

你会在执行中收到如下询问

年:
月:
日:
课(12、34、56、78、910):
有课人员(0)/无课人员(1):
1
2
3
4
5

你应该给出回答,例如

年:2021
月:9
日:13
课(12、34、56、78、910):910
有课人员(0)/无课人员(1):0
1
2
3
4
5

你会看到如下提示

查询结果已保存在文件X:\...\CPPU-TimeTableSearching\统计用\结果xxxxxxxxxxxxxx.txt中
1

你可以在当前目录下找到结果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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

第一行最后一部分就是统计出的人数,下方就是统计出来的人员名单。