0 / 0 / 0
Регистрация: 18.07.2018
Сообщений: 3
1

Аналог grep -b на python

18.07.2018, 16:56. Показов 2586. Ответов 5
Метки нет (Все метки)

Всем привет.Столкнулся с такой проблемой.Есть функция

Python
1
2
3
4
5
6
7
8
def grepA(word,file,num=0):
       with open(file) as f:
        for line in f:
            if word in line:
                print(line + ''.join(islice(file, num)))
 
            else:
                print('No match')
при поиске по файлу если указать num выводит следующие значения в файле после найденного,в количестве указанном в num.
Как сделать чтобы выводились значения перед найденным ?
Заранее спасибо.
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.07.2018, 16:56
Ответы с готовыми решениями:

Grep в Python
Нужно производить grep по множества серверов Linux с Windows. Пишу код. Но grep не хочет...

Есть ли аналог атрибутам из C# в Python?
Есть ли аналог атрибутам из C# в Python? Пример атрибутов: using System.ComponentModel; using...

Аналог Steam Desktop Authenticator на Python
Имеется программа: https://github.com/Jessecar96/SteamDesktopAuthenticator Заинтересовало сделать...

Ввод значений из строки или аналог cin >> x в Python
Имеется: Задана последовательность из N целых чисел. Определите, сколько элементов этой...

5
Эксперт Python
4543 / 1969 / 354
Регистрация: 17.03.2012
Сообщений: 9,892
Записей в блоге: 5
18.07.2018, 17:19 2
Из доки:
Python
1
2
3
class islice(builtins.object)
 |  islice(iterable, stop) --> islice object
 |  islice(iterable, start, stop[, step]) --> islice object
0
0 / 0 / 0
Регистрация: 18.07.2018
Сообщений: 3
18.07.2018, 17:50  [ТС] 3
dondublon, можете пояснить как сделать чтобы выводились значения перед найденным значением?если ввожу step отрицательный получаю эксепшн.Я совсем новичок
Заранее спасибо
0
Эксперт Python
4543 / 1969 / 354
Регистрация: 17.03.2012
Сообщений: 9,892
Записей в блоге: 5
18.07.2018, 18:27 4
start ставите None, stop - ваш бывший start.
0
0 / 0 / 0
Регистрация: 18.07.2018
Сообщений: 3
19.07.2018, 10:25  [ТС] 5
dondublon,
Сделал так как вы сказали
Python
1
print(line + ''.join(islice(file, None,0,num)))
в консоль выводит найденное слово,а слова до найденного не выводит
0
Эксперт Python
4543 / 1969 / 354
Регистрация: 17.03.2012
Сообщений: 9,892
Записей в блоге: 5
19.07.2018, 11:57 6
Посчитайте ваши параметры внимательно. Я понимаю, вы можете быть новичком в питоне, но параметры по порядку через запятую - это традиционно для всех языков.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.07.2018, 11:57

Аналог grep
Всем привет. Есть задача: Необходимо реализовать консольную программу, которая бы фильтровала поток...

Аналог grep из Linux для Windows
Кто-нибудь пробовал уже написать аналог линуксовского grep? может кто-то уже задавался этим...

Фильтрация текстовой информации, подаваемой на вход (аналог grep)
В общем после процедурного С++ начали изучать Объектно ориентированную Джаву и первая задача...

Аналог pack/unpuck из Python и PHP
Чем в C++ можно распаковывать бинарные данные в int/short/double? В питоне и пхп для этого есть...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.