Python - есть ли способ изменить определенную строку внутри файла? - PullRequest
0 голосов
/ 18 февраля 2019

Я создаю API для удаленной настройки правил Snort.Я работаю в основном с тремя действиями относительно правил: «Создать», «Удалить» и «Остановить».У меня проблема с действиями Delete и Halt, правила в snort сохраняются в файле, где каждая строка соответствует правилу, поэтому для удаления правила мне нужно было бы перебрать файл, найти конкретное правило икаким-то образом удалить эту строку из файла.То же самое с Halt, найдите строку и вставьте # в начале.

Я создал эту функцию, чтобы перебрать файл, найти нужное мне правило и вернуть, в какой строке он находится:

def findRule(fileName, ruleString):
    with open(fileName,"r+") as file:
        lineCounter = 1
        for line in file:
            line = line.strip("\n")
            if line == ruleString:
                return lineCounter
            lineCounter += 1

С помощью вышеуказанной функции я могу получить строку заданного правила внутри файла, моя проблема (опять же): как манипулировать (вставить # в начале, полностью удалить) этой конкретной строкой?Python - лучший язык для этого?

Приветствуется любой модуль / языковая рекомендация!

1 Ответ

0 голосов
/ 18 февраля 2019

Python ничего не получил с этим, и вам просто нужно переписать файл, если вам нужно что-то изменить в нем (за исключением добавления данных в файл, что здесь не так).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...