我想阅读以下配置文件,该文件具有为工作人员和管理人员定义的IP。我尝试了configparser模块,但它需要键值对。任何人都有任何想法使用python读取以下文件,我将很感激。
[经理]
1.2.3.4
[工人]
2.3.45.5
3.5.6.7
5.7.8.9
文件可能具有随机数的IP。
答案 0 :(得分:1)
如果按如下所示重新格式化数据文件,则可以使用configparser
模块进行解析。您可以通过执行pip install configparser
数据文件
[managers]
ip = 1.2.3.4
[workers]
ip = 2.3.45.5
3.5.6.7
5.7.8.9
样品用量
from configparser import ConfigParser
# from ConfigParser import ConfigParser # for python3
data_file = 'tmp.txt'
config = ConfigParser()
config.read(data_file)
config.sections()
# ['managers', 'workers']
config['managers']['ip']
# '1.2.3.4'
config['workers']['ip']
#'2.3.45.5\n3.5.6.7\n5.7.8.9'
config['workers']['ip'].splitlines()
#['2.3.45.5', '3.5.6.7', '5.7.8.9']
答案 1 :(得分:0)
使用简单的迭代。
演示:
res = {}
temp = []
with open(filename, "r") as infile:
for line in infile: #Iterate over each line
line = line.strip()
if line.startswith("["): #Check if line is header
line = line.strip("[]")
res[line] = [] #Create Key
temp.append(line)
else:
res[temp[-1]].append(line) #Append Values.
print(res)
输出:
{'workers': ['2.3.45.5', '3.5.6.7', '5.7.8.9'], 'managers': ['1.2.3.4']}