searchfile = open("file.txt", "r")
for line in searchfile:
if "searchphrase" in line: print line
searchfile.close()
打印多行(以简单的方式)
f = open("file.txt", "r")
searchlines = f.readlines()
f.close()
for i, line in enumerate(searchlines):
if "searchphrase" in line:
for l in searchlines[i:i+3]: print l,
print
print l,中的逗号防止在输出中出现额外的空格;后面的print语句将不同行的结果分隔开。
或者更好(从马克·勒索那里偷回来):
with open("file.txt", "r") as f:
searchlines = f.readlines()
for i, line in enumerate(searchlines):
if "searchphrase" in line:
for l in searchlines[i:i+3]: print l,
print
with open("file.txt", "r") as f:
searchlines = f.readlines()
j=len(searchlines)-1
for i, line in enumerate(searchlines):
if "searchphrase" in line:
k=min(i+3,j)
for l in searchlines[i:k]: print l,
print
打印多行(以简单的方式)
print l,
中的逗号防止在输出中出现额外的空格;后面的print语句将不同行的结果分隔开。或者更好(从马克·勒索那里偷回来):
注意“i+3”的索引可能超出范围。你可以这样做:
编辑:也许没必要。我只是测试了一些例子。如果y超出范围,x[y]将给出错误,但是x[y:z]似乎没有给出y和z的超出范围值的错误
向我公然抄袭的senderle道歉。
相关问题 更多 >
编程相关推荐