gpt4 book ai didi

python - 使用 ConfigParser 删除配置文件中没有节的行

转载 作者:太空宇宙 更新时间:2023-11-04 04:08:10 25 4
gpt4 key购买 nike

我正在尝试更改 Linux 服务器上的 .conf 文件,但 .conf 文件中没有任何部分。我想在键/值对中搜索特定关键字,然后删除该行上方的几行和该行下方的一些行。

如果没有节标题,我该如何实现这一目标?我应该使用 ConfigParser 吗?

此外,整个文件中存在重复的键名称。在下面的代码部分中,我想在“目录”行中搜索“关键字”,并删除上面的两行以及下面的其余内容。

database        ldbm
loglevel 0
directory /home/name/NameServer/var/openldap-ldbm-CMDB-keyword
suffix "o=CMDB-keyword"
suffix "dc=CMDB-keyword,dc=com"
rootdn "cn=admin,o=CMDB-keyword"
rootpw (blahblah)
schemacheck on
lastmod off
sizelimit 100000
defaultaccess read
dbnolocking
dbnosync
cachesize 100000
dbcachesize 100000000
dbcacheNoWsync
index objectclass pres,eq │
index default pres,eq │
index termName pres,eq

最佳答案

假设每个 block 以 database 行开始并以 index termName pres,eq 行结束,此脚本从 input.conf 读取并将这些 block 写入不包含 directory....keyword 行的 output.conf

import re
with open('input.conf') as f, open('output.conf', 'w') as o:
s = f.read()
for x in re.findall(r'^database.*?index termName pres,eq\n', s,
re.DOTALL | re.MULTILINE):
if not re.search(r'^directory.*keyword', x, re.MULTILINE):
o.write(x)

关于python - 使用 ConfigParser 删除配置文件中没有节的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20308405/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com