如何构建并填充嵌套字典?附SSH输出处理代码片段
构建嵌套字典:处理SSH设备输出
看起来你已经在处理SSH设备输出并构建嵌套字典的路上走得很顺利啦!我帮你把这段代码和需求整理成更清晰的格式,方便后续扩展和调试:
核心处理代码
import time # 发送SSH命令获取指定客户端的详细信息 ssh_channel.send("show client detail 00:e0:4c:14:dd:78" + "\n") time.sleep(0.9) # 等待设备返回完整输出 outp = ssh_channel.recv(100000) # 将字节流解码为字符串,并按行分割成列表 shclisumstring = outp.decode("utf-8") shclisumlist = shclisumstring.splitlines() # 裁剪列表,只保留需要的部分 del shclisumlist[:1] # 删除前1行无关内容 del shclisumlist[4:107] # 删除第4到106行的冗余内容 del shclisumlist[6:] # 删除第6行及以后的内容 # 清理指定列表项的首尾空白字符 shclisumlist[3] = shclisumlist[3].strip() shclisumlist[4] = shclisumlist[4].strip() # 补全你未写完的.strip()调用
下一步:构建嵌套字典
基于清理后的shclisumlist,你可以轻松构建嵌套字典。假设列表中的每一项都是"Key: Value"的格式,这里给你一个简单的示例:
# 初始化嵌套字典结构 client_info = { "target_client": "00:e0:4c:14:dd:78", "details": {} } # 遍历清理后的列表,填充子字典 for line in shclisumlist: if ": " in line: key, value = line.split(": ", 1) client_info["details"][key.strip()] = value.strip() # 打印最终的嵌套字典 print(client_info)
这样你就能得到一个结构清晰的嵌套字典,方便后续的数据分析或存储操作。
内容的提问来源于stack exchange,提问作者MarkS
相关产品推荐
相关产品推荐

