我正在尝试根据其mac地址使用python从dhcpd.lease中删除一个租约。
这是一个 dhcpd.lease 示例
lease 10.14.53.253 {
starts 3 2012/10/17 09:27:20;
ends 4 2012/10/18 09:27:20;
tstp 4 2012/10/18 09:27:20;
binding state free;
hardware ethernet 00:23:18:62:31:5b;
}
lease 10.14.53.252 {
starts 3 2012/10/17 10:15:17;
ends 4 2012/10/18 10:15:17;
tstp 4 2012/10/18 10:15:17;
binding state free;
hardware ethernet 70:71:bc:c8:46:3c;
uid "\001pq\274\310F<";
}
假设我得到'00:23:18:62:31:5b'。然后我应该删除所有属于这个租约的行。删除后,文件应如下所示
lease 10.14.53.252 {
starts 3 2012/10/17 10:15:17;
ends 4 2012/10/18 10:15:17;
tstp 4 2012/10/18 10:15:17;
binding state free;
hardware ethernet 70:71:bc:c8:46:3c;
uid "\001pq\274\310F<";
}
我很简单地阅读一个文件并将其放入一个字符串,但我不知道之后该做什么。我试过这个正则表达式但没有用。它只检查文件的第一行。
fh = open(DHCPFILE)
lines = fh.read()
fh.close()
m = re.match(r"(.*lease.*%s.*})" % mac ,lines)