首页 > 解决方案 > 如何读取特定位置的字符串,如果它们匹配,然后在 python 中打印所有行?

问题描述

我正在学习python。我想做这个:

我有一个包含很多行的文本文件(每行有 26 个字符串,有些字符串可以是空格,也可以不是空格,跟在行数之后):

      BBBTHTHTTTTCCCHHHHHH       1
CCCTTTTHHHHHHHHHHHTTTTTTTT       2
TTTTTTTTTTHHHHHHHHCCCCCC         3
CTCTTTTTTTTTTTTTTHHHHHHHHH       4     

我想从 22 到 26 位置读取字符串,如果所有这些位置都是 H,则打印完整的行。例如:

      BBBTHTHTTTTCCCHHHHHH       1
CTCTTTTTTTTTTTTTTHHHHHHHHH       4 

我的剧本是这样的

f = open("file.txt", "r")
lines = [line for line in f.readlines() if line[22:26]=="H"]
print lines

有人可以帮我解决吗?感谢您的支持和提示。

标签: pythonstringposition

解决方案


尝试这个:

with open('file.txt') as f:
    for i in f:
        if i[21:26]=='HHHHH':
            print(i)

推荐阅读