#!/usr/bin/python3
# -*- coding: UTF-8 -*-
import linecache #专门支持读取大文件,而且支持行式读取的函数库
#打印某个字符串的前几行(不包含这个字符所在的行)
def List_h(List,filename,num):
File = open(filename,"r")
for nums,value in enumerate(File): #enumerate 遍历行号与这一行的内容,但unms的行号是实际行号减1,可以使用enumerate(file,1) 则行号从1 开始
if str(List) in value:
for ss in range(nums-num+1,nums+2,): ##ss为unms的行号减去变量 num 加1,到unms的行号加2(因为unms的行号是实际行号减1)
print (linecache.getline(filename,ss).strip()) #打印 变量filename 文件中 ss 行的内容
print ("==================") #如果存在多行则用====隔开
File.close()
return
#打印nfs 文件中30001这个字符的前5行
List_h(30001,'nfs',5)