我正在为远程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是做到这一点的最佳语言吗?
欢迎任何模块/语言推荐!
答案 0 :(得分:-1)
Python对此一无所获,如果您需要更改文件中的任何内容,只需重写文件即可(除了将数据追加到文件中,这里不是这种情况)。