【发布时间】:2022-01-05 16:48:22
【问题描述】:
这里是新手!
我有一个包含 fasta 标头的文本文件(大约 1.5K;abc.txt):
>CP008746 location=complement(3239792..3241504),organism=Methanosarcina barkeri CM1,definition=methyl-coenzyme M reductase alpha subunit McrA
>CP009530 location=complement(2979486..2981198),organism=Methanosarcina barkeri 227,definition=Methyl coenzyme M reductase alpha subunit
我想删除除第一部分之外的所有内容:
>CP008746
>CP009530
假期一直在学习Python,所以写了(Python3.7.6):
with open("abc.txt","r+") as data_file:
for line in data_file:
data=line.split()
del data[1:]
print(data)
这给了我想要的输出,但我不确定如何将结果直接输出到新文件 - 我试过print(data, file=data_file),但它只输出我的几行而不是全部。我已经通过手动复制粘贴到一个新文件来解决这个问题,但是必须有一种方法可以自动输出所有内容,对吧?
非常感谢任何帮助,如果这已经得到解答,我深表歉意......!
谢谢!
【问题讨论】:
-
该代码不会为您提供所需的输出。而不是
>CP008746,而是打印['>CP008746']。 -
@KellyBundy 你是对的,但由于我还没有想出如何在不将标题转换为列表的情况下做我想做的事,['>CP008746'] 对我来说仍然是一个可以接受的输出:D 答案下面帮助我将所有内容输出到一个单独的文件中,然后我可以将其更改为正确的输出!