Форум программистов, компьютерный форум, киберфорум
Python
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.52/25: Рейтинг темы: голосов - 25, средняя оценка - 4.52
6 / 6 / 3
Регистрация: 10.12.2013
Сообщений: 116

Поиск слова в файлах

28.12.2017, 19:36. Показов 5187. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
всем привет, есть список в котором собраны пути к файлам, их более 300 +
Python
1
filepaths = []
, выглядит он так:
['path/path/file1.txt', ...]
нужно открыть каждый файл на чтение, файлы открываются, но как реализовать поиск слова с определенной датой?
тип записи в файле такой такой: word:1/1/2001,

Python
1
2
3
4
5
6
7
8
filepaths = []
print(filepaths)
def open_file():
        for index in filepaths:
            f = open(index, 'r')
            cont = f.read()
            print(cont)
            f.close()
Добавлено через 6 минут
Python
1
2
3
4
5
6
7
8
9
10
11
def find_content():
    w = 'cat'
    while c > 0:
        print(w)
        c -= 1
        for index in filepaths:
            f = open(index, 'r')
            cont = f.read()
            # print(cont)
            f.close()
            c = cont.count(w)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
28.12.2017, 19:36
Ответы с готовыми решениями:

Поиск имен в файлах
Приветствую обитателей форума. На данный момент решаю небольшую задачу. Есть txt файл в котором содержаться имена файлов. Пытаюсь...

Поиск и замена данных в файлах
Доброго времени суток, друзья! Есть 2 файла, содержимое первого: IDS_PROPITEM_TXT_000124 IDS_PROPITEM_TXT_000236 ...

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

5
Эксперт по компьютерным сетям
 Аватар для Jabbson
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
28.12.2017, 19:37
Python
1
2
3
4
5
with open('path_here') as f:
    for line in f:
        w, d = line.split(':')
        if d == 'date_here':
            print(w)
1
6 / 6 / 3
Регистрация: 10.12.2013
Сообщений: 116
28.12.2017, 19:50  [ТС]
а если так?

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
def find_content():
    i = 0
    word = 'cat'
    for index in filepaths:
        f = open(index, 'r')
        cont = f.read()
        for line in cont:
            if word in line:
                print(line)
                i += 1
                f.close()
            else:
                f.close()
    print(i)
но выводит 0, а потом записать в список и список отфильтровать и посчитать количество елементов в списке?
0
Эксперт по компьютерным сетям
 Аватар для Jabbson
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
28.12.2017, 20:18
Цитата Сообщение от Merser5 Посмотреть сообщение
а если так?
да как угодно можно, кому как удобнее, но из первого сообщения нужно было найти с определенной датой, поэтому что-то типа

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
data = '1/1/2001'
words = []
filepaths = ['path/path/file1.txt', 'path/path/file2.txt', ...]
 
for path in filepaths:
    with open(path) as f:
        for line in f:
            w, d = line.split(':')
            if d == data:
                words.append(w)
 
print(len(words))
print(words)
1
6 / 6 / 3
Регистрация: 10.12.2013
Сообщений: 116
01.01.2018, 23:17  [ТС]
не могу понять почемву не находит, хотя записи в файлах создал согласно условиям поиска

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
def find_content():
    w = 'слово'
    count_time() #считаем дату и заносим в список пример даты  30.12.2017 и заносим в список их всегда 3
    words = []
    a, b, c = ad #разбиваем список c датами на кортеж a b c 
    print(a)
    print(b)
    print(c)
    for path in filepaths:
        with open(path) as f:
                for path in filepaths:
        with open(path) as f:
            for line in f:
                [w, d] = line.split(':')
                if d == a:
                    words.append(w, d)
                elif d == b:
                    words.append(w, d)
                elif d == c:
                    words.append(w, d)
    print(len(words))
    print(words)]
пишет всегда 0

Добавлено через 24 минуты
нашел аналогию grep в питон називается re, и работает намного быстрее
0
Эксперт по компьютерным сетям
 Аватар для Jabbson
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
02.01.2018, 03:13
Цитата Сообщение от Merser5 Посмотреть сообщение
нашел аналогию grep в питон називается re, и работает намного быстрее
Работает гораздо быстрее, чем то, что не работает?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
02.01.2018, 03:13
Помогаю со студенческими работами здесь

Поиск в xml-файлах
Здравствуйте! Имеется крупный xml файл (350 мб), который представляет собой словарь помеченных слов. Необходимо обеспечить быстрый...

Как найти совпадающие слова в файлах с Portacle?
Опишу задачу, используя регулярное выражение для примера. А Вы объясните, пожалуйста, пошагово и с кодом, как выполнить нужное в Portacle. ...

Поиск из списка текста в файлах
Скрипт должен отработать следующее: Из файла -- ххх.txt брать построчно слово. Запускать поиск этого слова во всех текстовых m3u ...

Поиск строк в файлах по признаку
IDLE (Python 3.10 64-bit) В каталоге много текстовых файлов. Нужно пройти эти все файлы построчно. Найти в этих файлах, если есть,...

Поиск слова в файлах
Здравствуйте. Подскажите, что исправить в коде. Программа последовательно открывает файлы txt и ищет в них ключевое слово, в случае...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
Контроль уникальности заводского номера - вариант №2
Maks 24.03.2026
В отличие от предыдущего варианта добавлено прерывание циклов, также добавлены новые переменные для сохранения контекста ошибки перед прерыванием цикла: Процедура ПередЗаписью(Отказ, РежимЗаписи,. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера - вариант №1
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru