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

2024-06-16 12:29:32 发布

您现在位置:Python中文网/ 问答频道 /正文

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

我对文件进行了分析,以便只在函数get_columns()中获得所需的列。当我在函数中打印解析后的文件时,它可以正常工作。然而,当我试图使用返回的文件搜索一个单词时,它似乎只给了我第一行。我将变量search_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()

Tags: columns文件函数norenewinputsearch