2014-05-18 42 views
-4

我写它通过类似线返回文件行的内容的函数:如何读取python文件中的所有内容?

def read_line(file): 
try:  
    fileIN = open(file)   
    for line in fileIN.readlines():   
     return line 
     #print line 
finally: 
    fileIN.close() 

我如何可以读取文件的所有行,当我打电话read_line(文件)的方法?

回答

1

如果你的目标是要能够做这样的事情:

for line in read_line(file): 
    print "line is %s" % line 

你可以让你read_line功能generator

def read_line(file): 
    with open(file) as fileIN: 
     for line in fileIN: 
      yield line 

通过使用一台发电机,你就可以在您返回(收益)每行时保持您的位置在read_line之内。

+0

非常感谢Mr.Dano。正如我期待的那样。 –

0

您可以只返回readlines方法:

def read_line(file): 
    with open(file) as fileIn: 
     return fileIn.readlines() 
相关问题