我正在尝试在文件中搜索我想要的染色体,例如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()
答案 0 :(得分:1)
您的return
循环中有一个for
语句。这意味着你的函数总是在第一行之后返回。