function return

Matt Nordhoff mnordhoff at
Thu Sep 11 15:59:10 CEST 2008

Beema Shafreen wrote:
> hi all,
> I have a script using functions , I have a problem in returning the
> result. My script returns only one line , i donot know where the looping
> is giving problem, Can any one suggest, why this is happening and let me
> know how to return all the lines
> def get_ptm():
>     fh = open('file.txt',    'r')
>        data_lis = []
>        for line in fh.readlines():

As an aside, you should change the above line to:

       for line in fh:

"readlines()" will read the entire file into memory at once, while just
iterating through it won't, so you'll save memory on large files.

>            data = line.strip().split('\t')
>            id = data[0].strip()
>            gene_symbol = data[1].strip()
>            ptms = data[8].strip()
>            result = "%s\t%s\t%s" %(id,gene_symbol,ptms)

This is very trivial, but you could change the above line to:

           result = "\t".join(id, gene_symbol, ptms)

>            return result
>      fh.close()

More information about the Python-list mailing list