如何在带有空格的单词后获取序列

how to get a sequence after a word with whitespace

在学校,我必须在包含大量空格的单词后解析一个字符串,但我无法理解。 因为文件是genbank.

例如:

BLA                                                                                                             
      1 sjafhkashfjhsjfhkjsfkjakshfkjsjkf
      2 isfshkdfhjksfkhksfhjkshkfhkjsakjfhk
      3 kahsfkjshakjfhksjhfkskjfkaskfksj

//

我试过的是这个

if line.startswith("BLA"):

       start = line.find("BLA")
       end = line.find("//")
       line = line[:end]
       s_string = ""
       string = list()
       if s_string:
           string.append(line)


        else:
            line = line.strip()
            my_seq += line

但我得到的是:

**output**
BLA

这是它唯一得到的东西,我想让输出像

**output**
BLA 1 sjafhkashfjhsjfhkjsfkjakshfkjsjkf
    2 isfshkdfhjksfkhksfhjkshkfhkjsakjfhk
    3 kahsfkjshakjfhksjhfkskjfkaskfksj

所以我不知道该怎么做,我试着像上次输出那样得到它。但没有成功。我的老师告诉我,我必须做喜欢的事。如果 BLA 为真,您可以对其进行迭代。如果你看到“//”,你必须停下来,但是当我用那个 True 语句尝试它时,我什么也得不到。

网上搜了一下,说是bio seqIO。但是老师说我们不能用那个。

这是我的解决方案:

lines = """BLA
  1 sjafhkashfjhsjfhkjsfkjakshfkjsjkf
  2 isfshkdfhjksfkhksfhjkshkfhkjsakjfhk
  3 kahsfkjshakjfhksjhfkskjfkaskfksj

//"""

lines = lines.strip().split("//")
lines = lines[0].split("BLA")
lines = [i.strip() for i in lines]
print("BLA", " ", lines[1])

Output:

BLA   1 sjafhkashfjhsjfhkjsfkjakshfkjsjkf
      2 isfshkdfhjksfkhksfhjkshkfhkjsakjfhk
      3 kahsfkjshakjfhksjhfkskjfkaskfksj