Python-有没有办法改变文件中的特定行?

时间:2019-02-18 17:52:46

标签: python file

我正在为远程Snort规则配置创建API。我主要针对规则执行三个操作:“创建”,“删除”和“暂停”。我遇到的问题是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 :(得分:-1)

Python对此一无所获,如果您需要更改文件中的任何内容,只需重写文件即可(除了将数据追加到文件中,这里不是这种情况)。