0
0 комментариев

Стоит задача брать по одной строке из файла ‘a’, искать их в ‘b’, и если есть записывать в ‘c’.

Тут собственно несколько моментов:
1-й и самый главный: Как считать конкретную строку?

Я знаю, что файл a, и файл b будет следующего формата:

  1. info:info
  2. Каждая линия начинается с новой строки

Соответственно количество строк я могу посчитать по количеству «:» либо по количеству «\n» + 1, значит каждую новую строку я могу считывать по ее точному номеру.

Немного отклонимся от темы.
Алгоритм поиска был выбран такой:

word = #строка из a для проверки
with io.open('b.txt') as file:
    for line in file:
        if word in line:
           print(line) #типо дебаг
           c.write(line+'\n')#пишем в c, и начинаем новую строку
           c.flush()#сброс данных

Для его корректно работы, очевидно нужно присваивать word значение строки из a. Тут то и вопрос, как мне взять конкретную строку из a?

Допустим что ‘a’ содержит такие строки:

mail1:name1
mail2:name2
mail3:name3

Есть какой-то запрос/команда чтобы например вызвать строку 2 (чтобы ее вызов выдавал str(mail2:name2)? какой-нибудь a.readline(2) (знаю что это не верная команда, пытаюсь передать суть.

Метод с readlines() не хочу реализовывать намеренно, потому что в файле a может быть 10 строк, а может и 10 000 строк. Хочу сделать скрипт максимально универсальным. Есть какие то модули внешние, или способы реализации подобного? Смотрел в интернете, ничего не нашел, хотя пытался по разному.

С SQL не дружу. Придется превращать текст в таблицу/бд? Нельзя просто прочитать условно строку(i) из a?


Добавить комментарий