shurup77
@shurup77

Как сделать удаление целой строки из txt файла по команде боту?

Я хотел бы узнать как можно сделать удаление целой строки по команде на discord.py

Например есть txt файл "test.txt" и он имеет следующие значения:
Пример
12345678,
2714236478231,
9101112,
7847532

Я же хочу сделать команду, которую можно использовать примерно так:
Юзер: -уд 9101112
Бот: удаляет строку с значение 9101112 и запятой, если она есть, сохраняет файл и тот же исходный файл теперь имеет значения:
Пример
12345678,
2714236478231,
7847532


Так вот как лучше это сделать?
  • Вопрос задан
  • 36 просмотров
Решения вопроса 1
Vindicar
@Vindicar
RTFM!
Лучше это не делать. Текстовые файлы очень неудобны в вопросах "вставить текст в середину"/"удалить текст из середины", так как они хранятся как последовательность символов. Не строк. Символов.
Так что единственный способ удалить строку заранее неизвестной длины из середины выглядит примерно так:
Файл до:F O O B A R B A Z F E E. Мы хотим удалить BAR.
Читаем часть файла, идущую после, и пишем её с начала BAR:
F O O B A Z F E E F E E
FEE в конце осталось от предыдущего содержимого. После этого делаем truncate, чтобы обрезать лишний хвост.
F O O B A Z F E E
Долго и муторно.

Я бы посоветовал осилить базы данных, хотя бы тот же sqlite.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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