APP下载

OXML结构化格式的Word试卷智能处理系统

2020-02-01吴为民

现代计算机 2020年34期
关键词:题库预处理文档

吴为民

(福建船政交通职业学院信息与智慧交通学院,福州350007)

0 引言

目前大多数的试卷系统,都把题库导入到数据库中,然后生成试卷时从题库中抽题形成试卷。这样的作法一是试卷的保密程度不够高,而且对于大量用图形图像的试题的支持不好,大部分只能支持文字类的试题。以Word文件直接作为题库的数据库,避免了按照常规的做法,题目需要导入到数据库中过程的繁琐和存在泄密的风险;而且实现题库的本地化,利用Word直接维护题库,可操作性和可视化程度高,以及对有图像的理工类的题目支持非常好[1-2]

1 Word文档的XML结构

较早的Word格式doc被称为“二进制”格式。从2007 Microsoft Office System开始,Microsoft Office使用基于Open XML的文件格式,例如.docx、.xlsx和.pptx。这些格式和文件扩展名适用于Microsoft Word、Micro⁃soft Excel和Microsoft PowerPoint。利用Word文档的XML结构,我们通过程序对Word文档进行增删改查的处理,实现类似数据库的功能,为将Word文档直接作为数据库奠定基础。

Docx文件是XML文件的Zip存档。最简单的Word文档的主要文档结构包含以下XML元素[3-4]:

其中:document:文档部分的根元素,它定义了主要文档的结构。Body:主体—用于收集构成文本的块级结构的容器。P:段。R:段落中的分句。T:文本。

2 Python的Word文档SDK

存在几个可用于在Python中读写MS Word文件的库。但是,由于其易用性,我们将使用python-docx模块。python-docx是用于创建和更新Microsoft Word(.docx)文件的Python库。在终端中执行以下pip命令,以加载python-docx模块,如下所示:

$pip install python-docx

使用python-docx模块,我们有3种不同的数据类型:

document:整个文档的Document对象。

Paragraph:文档对象内段落的段落对象。

Run:每个“段落”对象包含一个“运行”对象列表。

图1 Word基本数据结构

python-docx允许Python程序对Word文档进行读、写、修改、字符串比较等操作。因此为将Word文档作为数据库奠定了基础[5]

3 试卷智能处理系统实现与测试

试卷智能处理系统利用python-docx库以及Word文档的XML结构,将题库的题目都存放在Word文档中,对Word文档实现数据库的增删改查的功能,在此基础上构建试卷智能处理系统,其功能模块如图2所示。

图2 系统主要功能模块图

图3 主界面图

3.1 题库预处理

在题库的预处理模块,对题库的Word文件进行扫描,发现题库中存在的格式错误。

图4 题库预处理结果

3.2 试卷的配置

对试卷进行出卷配置。

图5 试卷配置界面

3.3 生成试卷的实现

根据试卷配置表和Word题库,生成考试试卷。

图6 生成试卷结果界面

4 结语

通过该系统的使用,增强了题库的可视化程度和本地化,为题库的维护提供了方便,增强了题库的安全性,同时也大大地减轻了出题工作人员的负担,提高了试卷出卷的效率和卷面的质量。

猜你喜欢

题库预处理文档
预处理对医用外科口罩用熔喷布颗粒过滤性能的影响
浅谈Matlab与Word文档的应用接口
手术器械预处理在手术室的应用
污泥预处理-厌氧消化体系的能源经济性评价
有人一声不吭向你扔了个文档
轻松编辑PDF文档
污泥预处理及其在硅酸盐制品中的运用
“整式的乘法与因式分解”优题库
脑力急旋风
Word文档 高效分合有高招