Задать вопрос
@piffo

Поиск по .txt файлу python?

Есть .txt файл такого формата
Name0 : 84555321599
Name1 : 84537905716
Name2 : 82497315780
Name3 : 84567822347

Нужно чтобы пользователь вводил имя, производился поиск по файлу, и если введённое имя присутствует в файле, то его строчка выделялась(для программы) и можно было работать с конкретным контактом(поиск, удаление, изменение). Как наиболее оптимизированно это реализовать?
  • Вопрос задан
  • 2513 просмотров
Подписаться 1 Средний Комментировать
Решения вопроса 2
hottabxp
@hottabxp Куратор тега Python
Сначала мы жили бедно, а потом нас обокрали..
Как наиболее оптимизированно это реализовать?
С помощью Базы Данных. Если взять Sqlite3, то можно уложиться в 15-30 строк кода.
Ответ написан
Комментировать
resolut1123
@resolut1123
Студент
Сам такое искал, вот что нашел:
str = input()
sub_string = str
with open("/name.txt") as file:
    lines = file.readlines()

    for line in lines:
        if sub_string in line:
            print(line)

Но с этим придется постоянно возиться, разбираться как выводить строку на редактирование и удаление, лучше всё таки освоить базу данных, но если всё таки решишься использовать этот метод, можешь написать мне в тг "@resolut", могу скинуть примеры того что сам уже сделал с этим.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Если файл не большой, то можно распарсить его в словарь, потом провести все действия и обратно записать в файл
my_dict = {}
with open('file.txt') as file:
    for line in file.readlines():
        name, value = line.split(':')
        my_dict[name.strip()] = value.strip()
# code

with open('file.txt', 'w') as file:
    file.writelines([f'{name} : {value}\n' for name, value in my_dict.items()])


Но это конечно костыли.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы