背景
试卷中存在1~244道题目,需要随机拆分成6份试卷,每份试卷30道题。
程序
import random
#指定读取文件
f = open('exam.txt',encoding='utf-8')
#指定输出文件
out_file = open("out.txt", 'w',encoding='utf-8')
mid_res=[]#指定缓冲区
res = []#指定最终结果
#按行读取文件。如果该行存在指定字符[T],则将其切割
for line in f:
tmp=line.split('[T]')#tmp即按行读取的内容,为list类型
#该行存在指定字符[T],执行切割后句子被分成了两部分,存入缓冲区后缓冲区置空
if len(tmp)>1:
print(mid_res)
res.append(mid_res)
mid_res=[]
mid_res.append(tmp)
#该行不存在指定字符[T],不执行切割,句子长度为1。直接存入缓冲区
else:
mid_res.append(tmp)
#生成随机数
L1 = random.sample(range(1, 244), 30)#生成1~244的30个随机数
L1.sort()
print(L1)
#res为list类型,是二维数据,res[0]、res[1]...分别存储了指定字符之间的内容,即每一道题的内容
for i in L1:
for j in range(len(res[i])):
out_file.writelines(res[i][j])
#关闭输出文件
out_file.close()
改进方向:
1、由txt文档改进至word文档,使其支持图片显示
2、删除变量res为空的首行
附:文件格式
可以按照字符.或[T]进行分割
1.[T]ZE-A-001 4 3 1
( )弹性式压力表的主要特点是结构简单、价格便宜、使用方便、应用广泛。[T/]
[D]√[D/]
2.[T]ZE-A-001 4 3 5
( )膜盒压力表属于弹性式压力表,其量程通常为1kPa~2.5MPa。[T/]
[D]×[D/]
java mockito创建对象 java快速生成mock数据
CatMock
CatMock 是一个mock.js的 Java 封装库。使用 JDK 自带的 js 脚本引擎直接调用 mock.js 脚本,实现对 mock.js 的统一。
为什么采用这样的方案?
在开发互联网应用时,前后端在开发前使用接口管理平台设计接口。市面上常见的接口管理平台大部分使用了 Mock.js 作为虚拟接口和接口测试的工具。