前言
最近,我们马原老师给了我们关于马原的例题,但是他的题和答案是分开的,总共96页。当时,我就???。总不能看几道题就往后翻吧,那可是九十页的啊。让我一个一个的移答案?那是不可能的。于是我就想用python来替我完成。
文档结构
题目分为单选题、多选题、和简答题(简答题没有答案)。
欧克。了解了文档的结构,那么现在就开始完成这项任务。
代码的编写
首先引入库。
import docx
import re
import sys
为了更好的显示进度,我在分割答案、拼接答案、写入文件这三个过程中都加了进度条。
分割答案
然后定位答案的位置,将答案弄到两个列表中(第一题和第二题)。
在分割答案时,本来我想用空格来分割的,但是他给的答案中空格并不是一样的,这就可能造成有空元素,和答案分割错误。最后,我决定用正则来匹配数字来分割。
try:
doc = docx.Document("马克思主义基本原理概论.docx")
first = []
second = []
flag1 = 0
for i in range(4076,4099):
sys.stdout.write(' ' * 90 + '\r')
sys.stdout.flush()
sys.stdout.write("正在读取答案中({0:.2f}%):".format((i+1-4076)/23*100)+"["+"#"*int((i+1-4076)/23*40)+"-"*(40-int((i+1-4076)/23*40))+"]"+'\r')
sys.stdout.flush() //