From 9796f2e648eded164742c51cb7037ab0ab1d3235 Mon Sep 17 00:00:00 2001 From: "weiye.wang" Date: Sat, 1 Jul 2023 08:08:43 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=20=E8=BD=AC=E6=8D=A2?= =?UTF-8?q?=E6=89=8B=E6=89=93=E7=AD=94=E6=A1=88=E8=87=B3metadata=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 工具v2/转换手打答案至metadata.py | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 工具v2/转换手打答案至metadata.py diff --git a/工具v2/转换手打答案至metadata.py b/工具v2/转换手打答案至metadata.py new file mode 100644 index 00000000..be8bcf30 --- /dev/null +++ b/工具v2/转换手打答案至metadata.py @@ -0,0 +1,26 @@ +filepath = "d:/temp/g1ans1.txt" #已输入答案的文件名 +metadatafilepath = "文本文件/metadata.txt" #metadata.txt所在位置 + +from database_tools import * + + +data = ReadTextFile("d:/temp/g1ans1.txt") +for regex in (r"\\section\{[\s\S]*?\}",r"\\begin\{enumerate\}",r"\\end\{enumerate\}",r"\\setcounter\{enumi\}\{[\s\S]*?\}",r"\\newpage"): + data = re.sub(regex,"",data) #文件预处理 +plist = GenerateProblemListFromString(data) +outputstr = "ans\n\n" +for p in plist: + id = re.findall(r"\((\d{6})\)",p[0])[0] + ans = re.findall(r"\\textcolor{red}{\\textcolor{red}\{([\s\S]*?)\}\}$",p[0].strip())[0] + if not ans == "暂无答案": + outputstr += "%s\n%s\n\n"%(id,ans) + +#测试是否均合法 +template = ReadTextFile("模板文件/题目编辑.txt") +latexdata = StringSubstitute(r"<<[\s\S]*?待替换[\s\S]*?>>",template,[outputstr]) +SaveTextFile(latexdata,"临时文件/answer.tex") +if XeLaTeXCompile("临时文件","answer.tex") == True: + print("转换成功, 保存至 %s"%metadatafilepath) + SaveTextFile(outputstr,metadatafilepath) +else: + print("转换失败, 请检查原文件 %s"%filepath) \ No newline at end of file