如何删除文件中某个点以下的所有内容。

时间:2017-08-31 09:01:04

标签: python

我有一个GFF3文件,文件底部有一份基因组的FASTA报告。 I have attached an image of what I mean

我想删除“## FASTA' - 包括那条线。 我需要为多个文件执行此操作。 请帮忙。

1 个答案:

答案 0 :(得分:0)

请编辑您的问题以包含您正在谈论的数据样本。要求人们做某事并不是一种特别好的方式。我们不需要整个文件,只需要重要的代码片段作为文本。

由于多种原因,图像很烦人,但最让我困扰的是,imgur图像可能因stackoverflow之外的原因而被删除。然后你的问题变得毫无用处。

你可以这样做:

# Read the file into a list
myfile = "path/to/file.fastq"
f = open(myfile,"r")
lines = f.readlines()
f.close()

# Reopen the file to write
f = open(myfile,"w")
FASTA=False
# Iterate over all the lines
for line in lines:
    # Set the flag if we reach the FASTA line
    if line == "##FASTA\n":
        FASTA = True
    # The FASTA flag causes the lines to be skipped
    if FASTA:
        continue/break
    # Write the line to the file
    f.write(line)

f.close()

如果您确定不需要文件的其余部分,则还可以break退出循环而不是continue。有了继续,即使找到##FASTA之后它仍然可以通过所有行,所以如果您可以找到更多可用数据那么好。