如何逐行阅读文本文件并为特定行执行某些操作?

时间:2014-03-28 05:36:02

标签: python

我想逐行阅读文本文件。我找到了如何通过搜索逐行读取,而不是如何调用文本文件中的特定行。基本上,我想用特定的线(如第一行,第二行,第三行等)做一些事情:

if particular_line is something:
....

另外,我怎么能这样做:

if return_from_another_function in file:
....

基本上,我想要一个例子,说明如果可能的话我该怎么做。

3 个答案:

答案 0 :(得分:2)

f = open('filename', 'r')
lines = f.readlines()

现在您获得了一个列表类型对象lines,您可以使用它来访问特定行或迭代并搜索特定行。

答案 1 :(得分:1)

标准的linecache模块使这一点变得轻而易举:

import linecache
theline = linecache.getline(thefilepath, desired_line_number)

对于你的第二个阙(from Ans):

如果你的文件不是太大,你可以把它读成一个字符串,然后使用它(比每行读取和检查行更容易,也更快):

if 'blabla' in open('example.txt').read():
    print "true"

答案 2 :(得分:1)

这可能会有所帮助:

myfile = open(filename, "rb", 0)
for line in myfile
   if(line is "your string to be compared")
       print "do something here"