Привет, у меня есть пара проб, скажем, у меня в текстовом файле:
- унизить
- унижен
- уничижение
- унижения
- унижает
Эта кодировка ниже предназначена для поиска слова в файле и печати всех строк в конце файла. Но он не печатает только мой поисковый запрос, а не остальную часть файла.
search_term = r'\b%s\b' % search_term
for line in open(f, 'r'):
if re.match(search_term, line):
if search_term in line:
f = 1
if f: print line,
Скажем, я искал унижение, я хотел бы, чтобы результат был:
уничижение
abasements
унижает
Моя последняя проблема заключается в том, что я хотел бы найти в файле распечатку строк, в которых указан мой поисковый запрос, и нескольких строк после и после запроса. Если бы я искал в приведенном выше примере текста слово «abasement» и определил количество строк для печати с обеих сторон, равное 1, мой вывод был бы:
унижен
уничижение
abasements
numb = ' the number of lines to print either side of the search line '
search_term = 'what i search'
f=open("file")
d={}
for n,line in enumerate(f):
d[n%numb]=line.rstrip()
if search_term in line:
for i in range(n+1,n+1+numb):
print d[i%numb]
for i in range(1,numb):
print f.next().rstrip()