我的目的是比较两个大数据字符串(3000多个字母)以进行匹配,将它们排列并以图形方式显示匹配。
我使用的代码工作正常,但是显示数据时出现问题。在文本编辑器中,数据按原样显示,但是当我在记事本中打开文件时,行行长度限制弄乱了数据的显示方式。我需要找到一种使程序一次显示60个字符的方法,然后在页面上进一步放下以显示下一个60个字符,但所有3个字符串都排列在正确的位置。
我希望我只是缺少一个非常简单的格式化或合并功能。
IV尝试运行范围循环以一次处理60个字符的代码,但我想出了一种使其起作用的方法。
我想过要合并字符串,但是我仍然有同样的问题。
很明显,我可以使用[0:59]以60个字符的块重复代码,但要正常工作,我需要将代码复制50次,这看起来很混乱。
def sequence_compare(pro1, pro2):
len1 = len(pro1)
len2 = len(pro2)
mismatches = []
for pos in range (0,min(len1,len2)) :
if pro1[pos] != pro2[pos] :
mismatches.append ( ' ' )
else:
mismatches.append ( '|' )
results = open('comparison.txt','w')
results.write(pro1)
results.write('\n')
results.write("".join(mismatches))
results.write('\n')
results.write(pro2)
results.write('\n')
sequence_compare(pro1, pro2)
预期
129876543
|| ||
123456743 ..................
129876543
|| ||
123456743 ...................
实际
1234566778991
1234455666321
||| ||||
|||| |||
6788999876553
1234542323222