gpt4 book ai didi

python - 从文件python创建字典

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

我是 python 的新手,我正在尝试读取一个文件并从中创建一个字典。格式如下:

.1.3.6.1.4.1.14823.1.1.27 {
TYPE = Switch
VENDOR = Aruba
MODEL = ArubaS3500-48T
CERTIFICATION = CERTIFIED
CONT = Aruba-Switch
HEALTH = ARUBA-Controller
VLAN = Dot1q INSTRUMENTATION:
Card-Fault = ArubaController:DeviceID
CPU/Memory = ArubaController:DeviceID
Environment = ArubaSysExt:DeviceID
Interface-Fault = MIB2
Interface-Performance = MIB2
Port-Fault = MIB2
Port-Performance = MIB2
}

第一行 OID (.1.3.6.1.4.1.14823.1.1.27 { ) 我希望这是键,其余行是值,直到

我尝试了一些组合,但无法获得正确的正则表达式来匹配这些组合

有什么帮助吗?

我试过类似的东西

lines = cache.readlines()

for line in lines:

searchObj = re.search(r'(^.\d.*{)(.*)$', line)

if searchObj:
(oid, cert ) = searchObj.groups()

results[searchObj(oid)] = ", ".join(line[1:])

print("searchObj.group() : ", searchObj.group(1))

print("searchObj.group(1) : ", searchObj.group(2))

最佳答案

你可以试试这个:

import re
data = open('filename.txt').read()
the_key = re.findall("^\n*[\.\d]+", data)
values = [re.split("\s+\=\s+", i) for i in re.findall("[a-zA-Z0-9]+\s*\=\s*[a-zA-Z0-9]+", data)]
final_data = {the_key[0]:dict(values)}

输出:

{'\n.1.3.6.1.4.1.14823.1.1.27': {'VENDOR': 'Aruba', 'CERTIFICATION': 'CERTIFIED', 'Fault': 'MIB2', 'VLAN': 'Dot1q', 'Environment': 'ArubaSysExt', 'HEALTH': 'ARUBA', 'Memory': 'ArubaController', 'Performance': 'MIB2', 'CONT': 'Aruba', 'MODEL': 'ArubaS3500', 'TYPE': 'Switch'}}

关于python - 从文件python创建字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46798445/

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