Python 打印行搜索的输出

Python 打印行搜索的输出,python,Python,我对编程基本上是新手,我很难让这个命令将它的输出打印到.txt文档中。最后,我的目标是能够将变量的“序列”一词更改为可以将其集成到多个输入和返回的自定义easygui中,但这是以后的故事。为了测试和完成目前的项目,我将只是手动修改期限 我已经成功地让另一个程序将它的输出发送到一个.txt文件,但是这个程序很难。我不知道我是否在寻找一些简单的东西,但我被禁锢的时间比我希望的要长 当它搜索行时,它会打印我想要的文件中的字段,但是当它开始写入时,它会找到文件的最后一行,然后将其作为输出放在.txt中。

我对编程基本上是新手,我很难让这个命令将它的输出打印到.txt文档中。最后,我的目标是能够将变量的“序列”一词更改为可以将其集成到多个输入和返回的自定义easygui中,但这是以后的故事。为了测试和完成目前的项目,我将只是手动修改期限

我已经成功地让另一个程序将它的输出发送到一个.txt文件,但是这个程序很难。我不知道我是否在寻找一些简单的东西,但我被禁锢的时间比我希望的要长

当它搜索行时,它会打印我想要的文件中的字段,但是当它开始写入时,它会找到文件的最后一行,然后将其作为输出放在.txt中。我知道这个问题,但我还没能思考如何解决它,主要是因为我对我认为的语言缺乏知识

我正在Windows上使用升华文本2

def main():
    import os

    filelist = list()

    filed = open('out.txt', 'w')
    searchfile = open("asdf.csv")

    for lines in searchfile:
        if "Sequence" in lines:
         print lines

    filelist.append(lines)

    TheString = " ".join(filelist)

    searchfile.close()

    filed.write(TheString)

    filed.close()

main()

听起来您希望将要打印的行收集到变量“filelist”中,然后在.write()调用中将该变量打印到文件中。只有缩进的差异(在Python中很重要)才能防止这种情况发生:

def main():
    import os

    filelist = list()

    filed = open('out.txt', 'w')
    searchfile = open("asdf.csv")

    for lines in searchfile:
        if "Sequence" in lines:
           print lines
           filelist.append(lines)

    TheString = " ".join(filelist)

    searchfile.close()

    filed.write(TheString)

    filed.close()

main()
拥有

           filelist.append(lines)
在与相同的压痕级别

           print lines

告诉Python它们在同一个块中,并且第二条语句也属于if语句的“then”子句。

听起来您希望将要打印出的行收集到变量“filelist”中,然后在.write()调用中将其打印到文件中。只有缩进的差异(在Python中很重要)才能防止这种情况发生:

def main():
    import os

    filelist = list()

    filed = open('out.txt', 'w')
    searchfile = open("asdf.csv")

    for lines in searchfile:
        if "Sequence" in lines:
           print lines
           filelist.append(lines)

    TheString = " ".join(filelist)

    searchfile.close()

    filed.write(TheString)

    filed.close()

main()
拥有

           filelist.append(lines)
在与相同的压痕级别

           print lines

告诉Python它们在同一块中,并且第二条语句也属于if语句的“then”子句。

您的问题是没有在循环中追加,因此您只追加最后一行,请执行以下操作:

for lines in searchfile:
    if "Sequence" in lines:
       print lines
       filelist.append(lines)

奖金:这是一种“pythonic”的方式来做你想做的事:

def main():
    with open('asdf.csv', 'r') as src, open('out.txt', 'w') as dest:
        dest.writelines(line for line in src if 'sequence' in line)

您的问题是您没有在循环中追加,因此您只追加最后一行,请执行以下操作:

for lines in searchfile:
    if "Sequence" in lines:
       print lines
       filelist.append(lines)

奖金:这是一种“pythonic”的方式来做你想做的事:

def main():
    with open('asdf.csv', 'r') as src, open('out.txt', 'w') as dest:
        dest.writelines(line for line in src if 'sequence' in line)

+一个最好的解释是OP说他们是一个编程新手。5个字给你,谢谢你,我爱你。你帮我省了几个小时的时间,在我知道会影响它的任何东西上空白地起舞,5秒钟,几次按键,然后打印出来。谢谢大家!+一个最好的解释是OP说他们是一个编程新手。5个字给你,谢谢你,我爱你。你帮我省了几个小时的时间,在我知道会影响它的任何东西上空白地起舞,5秒钟,几次按键,然后打印出来。非常感谢。正如您所知,您不需要指定将来使用的文本编辑器(尽管Sublime text 2非常好)。除此之外,感谢您是为数不多的第一次发布的海报之一,这些海报在问题中提供了足够的细节,可以不加澄清地回答。您知道,您不需要指定将来使用的文本编辑器(尽管Sublime text 2非常棒)。除此之外,感谢你是为数不多的第一次在他们的问题中给出足够细节的海报之一,这样就可以不加澄清地回答。