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
语句。这意味着您的函数总是在第一行之后返回