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

Как исправить строку в файле txt?

Доброго времени суток, возникла небольшая проблема. У меня есть текстовый файл с ответами на вопрос:

Вопрос#1 - ответ
Вопрос#2 - ответ
Вопрос#3 - ответ


И если ответ человека меняется мне необходимо удалить соответствующую строку и записать заново. Как это реализовать?
  • Вопрос задан
  • 108 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
EPIDEMIASH
@EPIDEMIASH
Человек швейцарский нож
Например так:

def update_answer(file_path, question, new_answer):
    with open(file_path, 'r') as file:
        lines = file.readlines()

    updated_lines = []
    question_found = False

    for line in lines:
        if line.startswith(question):
            updated_lines.append(f"{question} - {new_answer}\n")
            question_found = True
        else:
            updated_lines.append(line)

#если вдруг не найден добавляем в конец, если не надо убрать
    if not question_found:
        updated_lines.append(f"{question} - {new_answer}\n")

    with open(file_path, 'w') as file:
        file.writelines(updated_lines)

# юзать так
file_path = 'answers.txt'
question = 'Вопрос#2'
new_answer = 'новый ответ'
update_answer(file_path, question, new_answer)
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Захватить файл монопольно, прочитать все строки из файла, найти нужную, изменить её, очистить файл, записать в него все строки, освободить файл.
Чтобы меньше страдать фигнёй, освоить реляционные базы данных и использовать хотя бы sqlite.
Ответ написан
Ваш ответ на вопрос

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

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