继续丰富database_tools
This commit is contained in:
parent
4c0c68f704
commit
b64028f67b
|
|
@ -303,5 +303,32 @@ def strip_suffix(originalString, suf_words_list): # 字符串去除指定后缀
|
|||
def get_striped_origin(pro_dict,id,suf_words_list): # 题目来源去除指定后缀
|
||||
return strip_suffix(pro_dict[id]["origin"],suf_words_list) # 返回去除指定后缀后的题目来源
|
||||
|
||||
|
||||
def SeperateFirstLine(string): # 切割一个含有换行的字符串
|
||||
thelist = string.split("\n")
|
||||
firstline = thelist[0].strip()
|
||||
contents = "\n".join([lines.strip() for lines in thelist[1:]])
|
||||
return (firstline,contents) # 返回第一行, 其余行形成的二元组, 每一行前后的空格都被删去
|
||||
|
||||
def ObtainDatatoModify(metadatafilepath,fieldsdictpath): #从metadata文件中获取需要修改的综合信息, metadata文件用双回车区分项, 单行的项表示此后的字段, 不小于两行的项中第一行是题目id, 第二行起是要修改的内容.
|
||||
#fieldsdictpath是字段信息数据库文件路径
|
||||
data = ReadTextFile(metadatafilepath)
|
||||
data = re.sub(r"\n[\s\n]*\n","\n\n",data) #去除一些无意义的空格和多余的回车
|
||||
datalist = data.split("\n\n")
|
||||
to_modify_list = []
|
||||
fields_dict = load_dict(fieldsdictpath)
|
||||
currentfield = "NotAField"
|
||||
for line in datalist:
|
||||
if line.strip() in fields_dict:
|
||||
currentfield = line.strip()
|
||||
elif not "\n" in line:
|
||||
currentfield = "NotAField"
|
||||
else:
|
||||
id,content = SeperateFirstLine(line)
|
||||
to_modify_list.append((currentfield,str(id).zfill(6),content)) #返回一个列表, 每一项是一个三元组, 三项依次为字段, 题号, 要修改的内容
|
||||
|
||||
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
print("数据库工具, import用.")
|
||||
Reference in New Issue