python-函数打印整个文件,但只打印函数外的一行

python-函数打印整个文件,但只打印函数外的一行,python,python-2.7,Python,Python 2.7,我试图在文件中搜索我想要的染色体,例如chr1 我解析了该文件,以便在函数get\u columns()中仅获取所需的列。当我在函数中打印解析后的文件时,它工作正常。然而,当我尝试使用返回的文件搜索单词时,它似乎只给了我第一行。我将变量search\u file分配给函数,当我打印出来时,我只得到解析文件的第一行。如何在第一个函数中解析的整个文件中搜索我的染色体 #! /usr/bin/python input_file = open( "Code_Work/GenFile.txt",

我试图在文件中搜索我想要的染色体,例如
chr1

我解析了该文件,以便在函数
get\u columns()
中仅获取所需的列。当我在函数中打印解析后的文件时,它工作正常。然而,当我尝试使用返回的文件搜索单词时,它似乎只给了我第一行。我将变量
search\u file
分配给函数,当我打印出来时,我只得到解析文件的第一行。如何在第一个函数中解析的整个文件中搜索我的染色体

#! /usr/bin/python    

input_file = open( "Code_Work/GenFile.txt", "rU" )

def get_columns (myFile):    
    for aRow in myFile:
        no_new = aRow.lstrip("\n")
        split = no_new.split('\t')
        sec_split = split[8].split(';')

        new_file =  split[0] + "\t" + split[3] + "\t" + split[4] + "\t" + split[6]  + "\t"  + sec_split[0]  + "\t" + sec_split[1]  + "\t" + sec_split[2]

        return new_file            

search_file = get_columns(input_file)


import re
original = raw_input('Enter a word:')
print re.findall(r"\b" +  re.escape(original) + "[\w]*", search_file)

input_file.close()

for
循环中有一个
return
语句。这意味着您的函数总是在第一行之后返回