Python 如何检查httpd.conf中的配置参数
我必须编写python代码来:Python 如何检查httpd.conf中的配置参数,python,string,python-3.x,Python,String,Python 3.x,我必须编写python代码来: 读取文本文件作为输入(由制表符分隔,通常为两列) 检查httpd.conf文件中的参数及其值 例如,我有这样一个文本文件: KeepAlive on Listen 80 TCP On 还有一个普通的httpd.conf文件 我想检查并比较每一行字段,如果配置正确,那么打印keepalive就可以了 我写道: d = [] with open("config.txt") as CFGF: for line in CFGF:
KeepAlive on
Listen 80
TCP On
还有一个普通的httpd.conf
文件
我想检查并比较每一行字段,如果配置正确,那么打印keepalive就可以了
我写道:
d = []
with open("config.txt") as CFGF:
for line in CFGF:
key, val = line.split()
c = key, val
d.extend(c)
with open("httpd.conf") as f:
j = 0
for i in d:
for line in f:
ls = line.strip()
if d[j] in line:
if d[j + 1] in line:
print(line.rsplit())
j += 1
最后,我写了一些有用的东西(如下),但还有一件事要做(精确匹配单词并忽略大小写)。有什么帮助吗
您是否假设“httpd.conf”的内容正确,并希望验证“config.txt”中的数据是否与“httpd.conf”中的数据匹配?或者反过来说,“config.txt”是正确的,并且您正在尝试验证“httpd.conf”?另外,您说大多数时候“config.txt”有两个选项卡分隔的列。某些行是否有3列或更多列?如果是这样,您的程序应该如何处理这些额外字段?这里有一些有用的答案:*第一个答案链接到一个类,该类将Apache配置转换为Python数据结构并允许查询。是,Config.txt是正确的,httpd.conf必须是这样。×评论只能编辑5分钟×评论只能编辑5分钟×评论只能编辑5分钟感谢您的回复。。
l = []
with open('config.txt') as cfg:
for line in cfg:
l.extend(line.split())
a, b = zip(*(s.split("~") for s in l))
for w in range(len(a)):
with open('httpd.conf') as apache:
for lines in apache:
if (a[w]) in lines and not lines.startswith("#") and not lines.__contains__("#"):
if (b[w]) in lines:
print(lines.rstrip())