Форум программистов, компьютерный форум, киберфорум
Python
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.84/74: Рейтинг темы: голосов - 74, средняя оценка - 4.84
0 / 0 / 0
Регистрация: 03.03.2015
Сообщений: 91

Поиск в файлах по определенным словам

03.03.2015, 14:50. Показов 16035. Ответов 83
Метки нет (Все метки)

Здравствуйте!
питон не так давно изучаю поэтому имею некоторые сложности с написанием программы.имеются два больших текстовых файла.необходимо написать программу которая будет выполнять поиск в файлах по определенным словам и эти слова будет записывать а отдельный файл.подскажите как это написать
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.03.2015, 14:50
Ответы с готовыми решениями:

Поиск по словам в файлах
Доброго времени суток. Возникла задача, требующая поиска в текстовых файлах (txt & html) определенных слов\фраз (указанных...

Ограничить поиск по определенным словам
Здравствуйте. Подскажите пожалуйста как скрывать неприемлемые материалы в результатах поиска Или же как скрывать информацию по...

Поиск по словам в файлах с расширением *.mht
Здравствуйте! Подскажите, пожалуйста, как можно реализовать поиск по словам в нескольких файлах *.mht с последующим выводом этого...

83
0 / 0 / 0
Регистрация: 03.03.2015
Сообщений: 91
10.03.2015, 14:32  [ТС]
да получается так
0
Эксперт по компьютерным сетям
 Аватар для Jabbson
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
10.03.2015, 15:00
а эти же пины и так есть в cut files со значениями, зачем это переновить в in pins
или в in pins должны быть и значение и "in bits"
не совсем понимаю, что должно быть на выходе
0
0 / 0 / 0
Регистрация: 03.03.2015
Сообщений: 91
10.03.2015, 15:03  [ТС]
да,но мне потом необходимо дальше будет сортировать.поэтому надо сделать все по отдельным файлам
0
Эксперт по компьютерным сетям
 Аватар для Jabbson
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
10.03.2015, 15:04
а в in pins нужно дописать или заменить?
0
0 / 0 / 0
Регистрация: 03.03.2015
Сообщений: 91
10.03.2015, 15:04  [ТС]
дописать только
0
Эксперт по компьютерным сетям
 Аватар для Jabbson
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
10.03.2015, 15:05
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import re
 
in_pins_file = open('in pins.txt', 'r+')
cut_files_file = open('cut files.txt', 'r')
 
pins = in_pins_file.readlines()
cut = cut_files_file.readlines()
 
for line_pins in pins:
    search_pins = re.search('\t\t(.+?):', line_pins)
    if search_pins:
        for line_cut in cut:
            search_cut = re.search('\"'+search_pins.group(1)+': (.+?),', line_cut)
            if search_cut:
                result = '\t\t' + search_pins.group(1) + ':\t' + search_cut.group(1).strip() + '\n'
                in_pins_file.write(result)
 
in_pins_file.close()
cut_files_file.close()
1
0 / 0 / 0
Регистрация: 03.03.2015
Сообщений: 91
10.03.2015, 15:09  [ТС]
благодарствую)
0
Эксперт по компьютерным сетям
 Аватар для Jabbson
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
10.03.2015, 15:11
На выходе in_pins выглядит вот так
Кликните здесь для просмотра всего текста
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
        BPASS:  in  bit;
        BMODE1: in  bit;
        BMODE0: in  bit;
        DR1:    in  bit;
        DR0:    in  bit;
        RX: in  bit;
        HCIOMS: in  bit;
        HCMS:   in  bit;
        HWR:    in  bit;
        HRD:    in  bit;
        HALE:   in  bit;
        HACKP:  in  bit;
        HA16:   in  bit;
        ACK:    in  bit;
        BR: in  bit;
        OPMODE: in  bit;
        TCK:    in  bit;
        TMS:    in  bit;
        TDI:    in  bit;
        BPASS:  72
        BMODE1: 71
        BMODE0: 70
        DR1:    67
        DR0:    60
        RX: 52
        HCIOMS: 28
        HCMS:   27
        HWR:    32
        HRD:    31
        HALE:   30
        HACKP:  24
        HA16:   23
        ACK:    120
        BR: 112
        OPMODE: 83
        TCK:    78
        TMS:    76
        TDI:    75
Не знаю, то это, что Вам нужно или нет)))
0
0 / 0 / 0
Регистрация: 03.03.2015
Сообщений: 91
10.03.2015, 15:12  [ТС]
да я проверил все работает правильно
0
0 / 0 / 0
Регистрация: 03.03.2015
Сообщений: 91
10.03.2015, 15:36  [ТС]
out pins.txt
делаю так же для этого файла но еденственная проблема это то что ADDR: out bit_vector(0 to 21);и он выводит численные значения только одно из этого списка как сделать так чтобы выводил все значения "ADDR: (84,85,86,87,88,89,91,92,93,95,96,97,98, 99,101,102," &
"103,104,106,107,108,109)
что необходимо поменять в условии?
0
0 / 0 / 0
Регистрация: 03.03.2015
Сообщений: 91
11.03.2015, 11:47  [ТС]
разобрался что надо сделать)

Добавлено через 19 минут
Цитата Сообщение от Konstantin41 Посмотреть сообщение
встретился с другой проблемой cut files.txt
из этого файла начиная со строчки --I/O Pins "IOC2 : C2 нужно записать все это в другой файл но так чтобы это было в один столбец т.еIOC2 : C2
IOD3 : D3
IOE3 : E3
и так до конца этой таблицы
0
Эксперт по компьютерным сетям
 Аватар для Jabbson
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
11.03.2015, 13:03
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
import re
 
cut_files_file = open('cut files.txt', 'r')
output_file = open('fil6.txt', 'w')
 
cut = cut_files_file.readlines()
 
for line_cut in cut:
    for search_cut in re.finditer(r'(\w+\d+\s+\:\s+\w+\d+?)', line_cut):
        if search_cut:
            output_file.write(search_cut.group(0)+'\n')
 
cut_files_file.close()
output_file.close()
1
0 / 0 / 0
Регистрация: 03.03.2015
Сообщений: 91
11.03.2015, 16:32  [ТС]
Цитата Сообщение от Jabbson Посмотреть сообщение
import re
in_pins_file = open('in pins.txt', 'r+')
cut_files_file = open('cut files.txt', 'r')
pins = in_pins_file.readlines()
cut = cut_files_file.readlines()
for line_pins in pins:
* * search_pins = re.search('\t\t(.+?):', line_pins)
* * if search_pins:
* * * * for line_cut in cut:
* * * * * * search_cut = re.search('\"'+search_pins.group(1)+': (.+?),', line_cut)
* * * * * * if search_cut:
* * * * * * * * result = '\t\t' + search_pins.group(1) + ':\t' + search_cut.group(1).strip() + '\n'
* * * * * * * * in_pins_file.write(result)
in_pins_file.close()
cut_files_file.close()
что касается этой программы.скажите пожалуйста как сделать так чтобы когда встречается в файле строка ADDR: out bit_vector(0 to 21) он выводил численные значения этого пина в столбик ADDR: 84,
: 85,
: 86,
и так до конца.
0
Эксперт по компьютерным сетям
 Аватар для Jabbson
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
11.03.2015, 23:14
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import re
 
cut_lines = open('cut files.txt', 'r').readlines()
cut_all = open('cut files.txt', 'r').read()
 
for line_cut in cut_lines:
    if "bit_vector(" in line_cut:
        pin = re.search('(\w+?):', line_cut)
        if pin:
            group = pin.group(0)
            reComp = re.compile("(?:" + str(group) + "\s+\()(.*?\n*.*)(?:\))")
            pin_search = reComp.search(cut_all)
            if pin_search:
                print pin.group(0)
                for num in pin_search.group(1).replace('\" &\r\n\t\t\t\"', "").split(","):
                    print num
Добавлено через 20 минут
ЗЫ
если только для ADDR:
Python
1
    if "ADDR:\tout\tbit_vector(" in line_cut:
1
0 / 0 / 0
Регистрация: 03.03.2015
Сообщений: 91
12.03.2015, 11:51  [ТС]
Jabbson, вставил но результата нет.хотелось бы было чтобы результат не выводился на экран а писался в этот же файл
0
Эксперт по компьютерным сетям
 Аватар для Jabbson
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
12.03.2015, 11:57
у меня результат есть:

а записать на экран или в файл много раздумий не нужно, чтобы переделать.
0
0 / 0 / 0
Регистрация: 03.03.2015
Сообщений: 91
12.03.2015, 12:02  [ТС]
я подключаю другой файл простоpins.txt и численные значения которые буду попадаться больше одного как например для ADDR выводились в столбик а не в строчку
0
Эксперт по компьютерным сетям
 Аватар для Jabbson
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
12.03.2015, 12:07
При подключении этого файла происходит все тоже самое:
0
0 / 0 / 0
Регистрация: 03.03.2015
Сообщений: 91
12.03.2015, 12:11  [ТС]
я не указываю просто
Цитата Сообщение от Jabbson Посмотреть сообщение
1
* * if "ADDR:\tout\tbit_vector(" in line_cut:
оставляю
Цитата Сообщение от Jabbson Посмотреть сообщение
if "bit_vector(" in line_cut:
0
Эксперт по компьютерным сетям
 Аватар для Jabbson
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
12.03.2015, 12:13
При оставлении
Code
1
if "bit_vector(" in line_cut:
происходит все тоже самое.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.03.2015, 12:13

Поиск сайта по определенным словам или словосочетаниям
Добрый день. Есть сайт, частный не бесплатный хостинг, на котором лежит этот сайт. Как сделать так, чтобы сайт был доступен в поисковиках...

Реализовать поиск по словам в txt файлах ресурсов и выделить слово в richtexbox
Всем доброго времени суток. В общем. Пишу программу-справочник. Есть в ней разделы. Под каждый раздел в RichTextBox вставляется текст из...

Поиск заданной строки в файлах с определённым расширением
echo off setlocal :START SET /P str= Введите символьную строку: SET /P disk= Введите дисковый том: if /i "%disk%" ==...

Как добавить видео из YouTube на сайт по определённым словам или тегам?
Можно как-то организовать добавление видео из YouTube по определённым словам или по тегам, указанным к самим видео? Вот пример добавления...

Запись в два столбца значений, получаемых при обработке строк, найденных в файлах по двум ключевым словам
Мой вопрос: Есть команда: FOR /F "tokens=3 delims=><" %%i in ('findstr "/R250GB" C:\11111\*.XML') do (echo.%%i>>C:\222\kod.txt) Есть...


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

Или воспользуйтесь поиском по форуму:
60
Ответ Создать тему
Новые блоги и статьи
[golang] Конкурентный fetcher с ограничением максимального количества одновременных HTTP запросов.
alhaos 10.06.2026
Задача Реализовать конкурентный fetcher с ограничением максимального количества одновременных HTTP запросов. Сигнатура func Fetch(urls string, maxConcurrent int) Result Пример urls :=. . .
[golang] Состояние гонки (race condition)
alhaos 10.06.2026
Состояние гонки (race condition) Состояние гонки (Race Condition) — это ошибка, возникающая при одновременном доступе нескольких горутин к одним и тем же данным без должной синхронизации. При этом. . .
Взрослые отношения, и почему они не получаются
kumehtar 09.06.2026
Когда в детстве ребёнок не получает от родителей чего-то важного, он лишается не просто приятных переживаний, а основы для формирования определённых внутренних качеств и навыков. Если ребёнок не. . .
[golang] Worker Pool
alhaos 09.06.2026
Worker Pool Worker Pool — паттерн конкурентной обработки задач в Go. Суть: фиксированное количество горутин-воркеров читают задачи из общего канала и пишут результаты в общий канал результатов. . . .
[golang] Pipeline
alhaos 08.06.2026
Pipeline Pipeline — паттерн конкурентной обработки данных в Go. Суть: данные проходят через цепочку независимых стадий, каждая из которых работает в своей горутине и общается с соседями через. . .
Свет внутри себя
kumehtar 07.06.2026
Пусть это будет здесь lIs4oanZS9Y
Программа для com-порта
Uhbif79 05.06.2026
Всем привет, давно хотел изучить Qt, начинал, бросал, потом снова начинал. И сейчас вот смог написать свою первую программу. До этого имел опыт программирования микроконтроллеров, писал прошивки на. . .
Транскрипция 55-минутного видео через Whisper: WhisperDesktop облажался, спас Google Colab[
anaschu 01.06.2026
Понадобилось получить текст из свежезагруженного видео на YouTube. Казалось бы, задача на пять минут. Заняла полтора часа. Делюсь опытом — может кому пригодится последовательность решений. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru