请教列表问题

请教列表问题

请问我用readlines读入文本文件,如何实现剔除空行呢?我知道for in可以,请问还有其它方法么

另,我想实现以K1、K2……依次作为列表名,可惜不知道如何实现,无奈下用k[1]、k[2]……实现,但又有新的问题,无法直接给k赋值,只好先给k赋初值再改,用的range(100),可是觉得很不好看,而且万一行数大于100会出错,请达人指教!
>;请问我用readlines读入文本文件,如何实现剔除空行呢?
#--------------------------------------
file = open('test.txt');

def fun(x): return x[0]!='\n'
rt = filter(fun,file.readlines())
print rt
#-------------------------------------
使用readlines读入时,使用for不是挺好。

可以使用字典过渡一下,如:

d = {}
d['k1'] = ...
d['k2'] = ...
>;>;>; import  inspect
>;>;>; ff = inspect.currentframe()
>;>;>; for i in xrange(10):
        ff.f_locals['k'+str(i)]=i

       
>;>;>; k1
1
>;>;>; k2
2
>;>;>; k3
3


QUOTE:
我想实现以K1、K2……依次作为列表名,可惜不知道如何实现,无奈下用k[1]、k[2]……实现,但又有新的问题,无法直接给k赋值,只好先给k赋初值再改,用的range(100),可是觉得很不好看,而且万一行数大于100会出错,请达人指教!

for i in range(1,5):
    exec("k%d = %d" %(i, i*2))