需求


临近考试,老师大发慈悲,发了考试提纲。但是头疼的是答案和题目分开的。不过没关系,还好我用的是python。
下面只讲最头疼的两个
1. 填空题
2. 选择题

选择题


  • 首先要说明一下:给的word文档 ,而我们只想对其中的文字进行处理 多余的格式跟我们没关系。
  • 要使用程序来处理一个文件的话得找到规律 ,才好用 循环 迭代。
    • 选择题当然就是 题号后最后的() 但是这里的()每一题可能中间空格多有的少,所以我们要把它换成统一的,这个直接借助 word 查找替换(先替换左边的“(”为你想要的特殊字符串 或者就是是“()”只要与题目中不冲突就行,然后把右边“)”的删掉即可
下面分析答案新式
1.C 2.B 3.C 4.D 5.D 6.B 7.D 8.B 9.A 10.C
1.B 2.D 3.C 4.B 5.D 6.B 7.A 8.A 9.A 10.D
1.D 2.B 3.C 4.D 5.B 6.C 7.A 8.B 9.D 10.C
1.D 2.A 3.D 4.A 5.B 6.D 7.A 8.A 9.D 10.A
1.B 2.A 3.D 4.C 5.D 6.C 7.A 8.B 9.C 10.A
1.A 2.C 3.D 4.A 5.A 6.D 7.B 8.B 9.A 10.D
1.B 2.A 3.C 4.D 5.C 6.B 7.A 8.A 9.D 10.C
1.B 2.C 3.B 4.A 5.C 6.B 7.D 8.A 9.B 10.B
  • 坑爹啊,就不能好好的按序号排吗。这样就是 11-1 12-2 以此类推。
  • 总结以后就是写代码了
import renewfile=open(r"I:\整合.txt","a")
opfile=open(r"I:\选择题答案.txt",encoding="ANSI").readlines()
//将答案一行一行读出来  每行10个 分别对应1-10  11-20 21-30....
for top in opfile :tresult={lt.split(".")[0][-1]:lt.split(".")[1] for lt in top.rstrip().split("\t")}
//通过选择题的头部 题号  每当 题号中有0 就是对应下一组答案 跳出当前循环
//这里使用 match  避免了题干中也有 12、这样的字眼 可以只取第一个。  while 1:line =opq.readline();    print(line);//将 字典中的答案根据当前的题号的最后一个数字(因为答案只有0~9)来替换if "(  )" in line:newfile.write(line.replace('(  )',"("+ tresult[re.match("([\d]*)、",line).group(1)[-1]]+")"))if "0" in re.match("([\d]*)、",line).group(1):break;else:newfile.write(line);//添加上末尾呗漏掉的题干
last=opq.readline();
while last  !="":newfile.write(last);last=opq.readline();newfile.close();
//这里是吧所有的选择题和答案都放在 放在I:\下面
  • 这样就ok 了。

填空题

同上 就不再赘述直接贴代码

import re
anwsermap={line.rstrip().split('.')[0]:line.rstrip().split('.')[1] for line in open(r"I:\填空题答案.txt",encoding="ANSI").readlines() if  "√" in line or "×" in line }fileaccount=open(r"I:\填空题答案.txt",encoding="ANSI").readlines()
anatache={line.rstrip().split('.')[0]:fileaccount[fileaccount.index(line)+1] for line in fileaccount if "×" in line}newfile=open(r"I:\整合.txt","a")
for line in open(r"I:\填空题.txt",encoding="ANSI").readlines():print(re.match("([\d]*)、",line).group(1));newfile.write(line.replace('(    )',"("+anwsermap[re.match("([\d]*)、",line).group(1)]+")"+ ("\n"+anatache[re.match("([\d]*)、",line).group(1)]) if "×" in anwsermap[re.match("([\d]*)、",line).group(1)] else ""))newfile.close();

python文案处理相关推荐

  1. python 文案自动生成_Python自动化测试如何自动生成测试用例?

    原文作者:陈安妮annie1 原出处:简书 上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰,我们将立即处理. 传统的测试用例需要测试或者开发人员将用户的操作用代码表示出来,通过断言判断 ...

  2. python 文案自动生成_Python应用 | 利用COM技术自动生成IBM i2舞弊关系分析图表

    点蓝字关注  ↑↑↑ 数据化审计:问题导向.应用至上.解决痛点 内容摘要 什么是COM技术 IBM I2 Analyst's Notebook软件介绍 如何使用Python调用I2的COM接口,批量自 ...

  3. 用Python采集了几千条相亲文案,终于发现了告别单身的秘密

    前不久,小编刷到这样一条短视频,"1.7亿的90后仅有约1000万对结婚,结婚率不到10%",当然我们也无法查实当中数据的来源以及真实性,不过小编倒是总能听说身边的朋友在抱怨脱单难 ...

  4. Python分析年度爆款“网抑云”热评,看看哪些文案触动了你的内心世界?

    点击上方"蓝字",发现更多精彩. 前段时间,"网抑云"这个词很火,尤其是到凌晨十二点,"网抑云"时间到,便有很多网友在网易云音乐上有感而发, ...

  5. Python爬取人民网夜读文案

    Python爬取人民网夜读文案 引言 人民网夜读文案中,有许多晚安的高清图片,爬下来做晚安素材,顺便练习Python爬虫知识. 来源:夜读 | 人与人之间最难得的,是看到别人的不容易 https:// ...

  6. 文案生成 python_用 Python 开发一个【视频营销号】生成器

    原标题:用 Python 开发一个[视频营销号]生成器 之前小帅b在网上看到一个营销号文案生成器,把我给乐的: 其实这个用 Python 实现非常简单,根据用户输入的内容,简单替换一下关键字就可以了, ...

  7. 90后的结婚率不到10%?用Python采集了几千条相亲文案。让你告别单身。

    前不久,小编刷到这样一条短视频,"1.7亿的90后仅有约1000万对结婚, 结婚率不到10% ",当然我们也无法查实当中数据的来源以及真实性,不过小编倒是总能听说身边的朋友在抱怨脱 ...

  8. python简单爬虫案例 [批量爬取文案]

    前言 辅导员要求发博客,不知道写啥.最近学了下python爬虫的东西,就简单写下爬虫吧 本案例使用python爬虫技术从文案网页http://www.xhwag.com/爬取文案并保存到本地 项目准备 ...

  9. AI智能文章生成器python仿文案狗AI文章写作

    近期有朋友想要一款AI智能写作软件,需求根据关键词或标题自行生成一篇文章,今天家兴网络免费分享给大家一款用python写的机器人训练智能写作软件! 据传这款软件是清华大学-计算机系某位学生写的,家兴网 ...

最新文章

  1. R语言设置或查询图形参数par函数
  2. apache实现URL地址隐藏跳转
  3. C# 并行任务——Parallel类
  4. 字符编码在python中的处理与储存_python----字符编码与文件处理
  5. 数字图像处理实验(8):PROJECT 04-04,Highpass Filtering Using a Lowpass Image
  6. python 去除列表空值_零基础学习Python之9大关键概念
  7. Optaplanner终于支持多线程并行运行 - Multithreaded incremental solving
  8. WireShark抓DNS请求和回复数据报的分析
  9. zblog php 侧边栏样式,ZBlogPHP免费主题Blogs如何修改侧边栏搜索框样式?
  10. webstorm环境安装配置(less+autoprefixer)
  11. Flink 消息聚合处理方案
  12. 常见压缩/解压缩及打包命令
  13. 惠普HP LaserJet 1160 驱动
  14. c语言char类型怎么输出,c语言中char类型数组的输出问题--输出时为何需要符?...
  15. 什么是意志力?如何提高意志力?
  16. 各个击破!高效解决游戏开发8大痛点
  17. 在.NET实现邮件收发功能(包含源代码)
  18. analy32.xll下载_Android Studio 4.0添加了Motion Editor和Build Analyzer
  19. DHCP Relay的介绍
  20. MW7299/PD+HUB2.0集成芯片上行支持PD3.0协议下行HUB支持BC1.2协议QFN32封装

热门文章

  1. 00后的可爱语录和强大的80后妈妈~
  2. 企业员工生日批量发送祝福邮件的方式
  3. 女生适不适合学软件测试?学完了的小姐姐都说太香了!
  4. win10设置开机启动项_手把手教你设置 win10系统开机提示“You hava to install ATK0100 driver”的妙计 -win10使用教程...
  5. 第五章-项目范围管理
  6. 大数据规划布局“未来生产要素”
  7. linux平板 开发程序,嵌入式Linux工业平板电脑开发详解
  8. MJLQ2CH A java开发_苹果(Apple)MacBook Pro MJLQ2CH/A笔记本电脑温度测试评测-ZOL中关村在线...
  9. 全景图 相框 载入图案 局部上色
  10. c标签 choose用法