我試圖從python根據其mac地址刪除dhcpd.lease的租約。刪除從python dhcpd.leases給mac的租約?
這是一個例子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)