对比1文件夹的文本文件中,每两个文件对比,有相同序列的字符串,形成字典并用不同的颜色标注出来,添加存入a文件夹的a1.txt中。
1文件夹中,
1.txt中,abdhhhddeebnggghyy
2.txt中,hhddejklyggghabdhyy
3.txt中,hgfdhhddeegghabdhyy
找出这些每两个文本中相同的部分,并用不同的颜色标注出来。每两个文件比较的结果存入2文件夹里,文件名为比较的两个文件名比如1v2,2v3,1v3,每两个文件都要对比一次。
每个一样的字符串,存入a文件夹a1.txt中,做为新的字典键,键值暂时空着。直到所有两个以上包括2个一样的字符串都放入字典为止。
2文件夹里的对比文件,字典a1.txt里有的字符串,标记为浅绿色或浅黄色或浅蓝色,两个相邻的标记不能为同一色,避免混淆。
打印a1.txt字典。
使用python,给出运行截图。
你的意思是要给txt文件加颜色标注嘛?这个一般是不可以的,txt文件只能支持纯文字,不支持标签记录,不可以标记书签,也就是说不可以加颜色标注的
字体颜色修改的程序:
import re
from docx import Document # pip install python-docx
from docx.shared import RGBColor #设置字体颜色
f = open('1.txt', 'r') # 读取的文件
content = f.read()
#此方法在切分字符时可以保留切分符
pt = r'(ab)' # 想要修改颜色的内容
res = re.split(pt, content)
print(res[0])
document = Document()
p = document.add_paragraph(res[0])
#add_run在同一段添加内容
run = p.add_run(res[1])
#字体颜色
run.font.color.rgb = RGBColor(250,0,0)
p.add_run(res[2])
document.save('1.docx')
相同序列要求的是 几个连续的字符才认为是相同序列
比如:
1.txt中,abdhhhddeebnggghyy
2.txt中,hhddejklyggghabdhyy
这俩的相同序列有 ['a', 'b', 'd', 'h', 'h', 'h', 'd', 'd', 'e', 'e', 'b', 'g', 'g', 'g', 'h', 'y', 'y', 'ab', 'bd', 'dh', 'hh', 'hh', 'hd', 'dd', 'de', 'gg', 'gg', 'gh', 'hy', 'yy', 'abd', 'bdh', 'hhd', 'hdd', 'dde', 'ggg', 'ggh', 'hyy', 'abdh', 'hhdd', 'hdde', 'gggh', 'hhdde'],
其中最大的相同子串是 hhdde
前面还能看懂,从这里就开始看不懂了
每个一样的字符串,存入a文件a1.txt中,做为新的字典键,键值暂时空着。直到所有两个以上包括2个一样的字符串都放入字典为止。
2文件夹里的对比文件,字典a1.txt里有的字符串,标记为浅绿色或浅黄色或浅蓝色,两个相邻的标记不能为同一色,避免混淆。
打印a1.txt字典。
a文件是什么,a1.txt又是什么
txt不可以标记颜色
text里存的是python字典,还是两个文件相同的部分,也就是字符串
这种练第三方库都不需要的任务非常简单,但是描述的不清楚,不知道具体要什么的,所以没办法动手写
题目例子中,”相同的序列“得到这样的结果对吗
1v2.txt: ['hhdde', 'gggh', 'yy']
1v3.txt: ['hhddee', 'ggh', 'yy']
2v3.txt: ['hhdde', 'gghabdhyy']