gpt4 book ai didi

python - 如何使用 python 计算文件中两个字符之间的行号?

转载 作者:行者123 更新时间:2023-11-28 23:05:30 24 4
gpt4 key购买 nike

你好我是 python 的新手,我有一个 3.2 python!我有一个文件,其格式如下:

Number of segment pairs = 108570; number of pairwise comparisons = 54234
'+' means given segment; '-' means reverse complement

Overlaps Containments No. of Constraints Supporting Overlap

******************* Contig 1 ********************

E_180+

E_97-

******************* Contig 2 ********************

E_254+

E_264+ is in E_254+

E_276+

******************* Contig 3 ********************

E_256-

E_179-

我想计算 *****contig#****我想得到这样的结果

contig1=2
contig2=3
contig3=2**

最佳答案

可能,这里最好使用正则表达式。您可以尝试以下操作:

import re
str = open(file).read()
pairs = re.findall(r'\*+ (Contig \d+) \*+\n([^*]*)',str)

pairs 是一个元组列表,其中元组的形式为 ('Contig x', '...')每个元组的第二个组成部分包含标记之后的文本

之后,您可以计算这些文本中 '\n' 的数量;这可以通过列表理解最容易地完成:

[(contig, txt.count('\n')) for (contig,txt) in pairs]

(编辑:如果你不想计算空行,你可以尝试:

[(contig, txt.count('\n')-txt.count('\n\n')) for (contig,txt) in pairs]

)

关于python - 如何使用 python 计算文件中两个字符之间的行号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5989158/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com