显示和设置行长度限制的对齐字符串

时间:2019-01-21 14:33:47

标签: python-3.x formatting compare sequence writing

我的目的是比较两个大数据字符串(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

0 个答案:

没有答案