Python 2.7从JSON文件提取指定HOST变量的技术问题
如何在Python 2.7中从JSON提取指定的host值?
嗨,我来帮你搞定这个问题!你现在的代码只是把整个JSON数据打印出来了,所以没法直接拿到host的值。咱们来调整一下代码,精准定位到你需要的内容。
首先看你的JSON结构,最外层是一个字典,键是"443",对应的值又是一个包含host键的子字典。所以只要通过字典键的嵌套访问就能拿到目标值啦。
修改后的代码示例
import json # 用with语句打开文件更安全,会自动帮你关闭文件 with open('config/listener.json') as json_file: data = json.load(json_file) # 直接提取host值 host = data["443"]["host"] print(host) # 运行后会输出:192.168.1.8
代码解释
json.load()把JSON文件内容转换成了Python的字典对象,所以你可以像操作普通字典一样访问里面的元素。data["443"]先拿到端口443对应的配置子字典,再通过["host"]取出里面的IP地址。- 之后你就可以把
host变量用到脚本的其他部分啦。
更稳健的写法(避免KeyError)
如果担心JSON里可能不存在443或者host键,可以用get()方法来避免报错:
import json with open('config/listener.json') as json_file: data = json.load(json_file) # 如果键不存在,会返回None,你可以根据业务逻辑处理 host = data.get("443", {}).get("host") if host: print("获取到host:%s" % host) else: print("未找到host配置")
内容的提问来源于stack exchange,提问作者v3ga
相关产品推荐
相关产品推荐

