【发布时间】:2019-10-23 18:24:50
【问题描述】:
对于学校,我必须在一个带有很多空格的单词之后解析一个字符串,但我就是无法理解。 因为文件是基因库。
例如:
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 你可以去迭代它。如果你看到“//”,你必须停下来,但是当我用那个 True - 语句尝试它时,我什么也没得到。
我试图在网上搜索它,它说我必须使用 bio seqIO 来做。但是老师说我们不能用那个。
【问题讨论】:
-
您的代码不完整,因为未定义
my_seq。此外,您在if s_string条件之前定义了s_string=""。所以这个条件永远不会是True -
你可以看看这个链接知道how to post a minimal reproducible example:)
-
对不起,我复制了我的真实代码并进行了一些更改。但是忘记改变my_seq
-
谢谢。 ^^ 我觉得还是问问同学比较好。
标签: python string parsing bioinformatics genbank