Python27从本地外部JSON文件获取变量并修改YAML文件求助
在Python 2.7中读取本地JSON文件并提取变量
没问题,我来帮你搞定Python2.7里读取本地JSON文件的需求——既然不能直接把JSON文件作为模块import,那我们用Python内置的json模块来读取解析就好,步骤很清晰:
1. 准备你的JSON配置文件
先在本地目录创建一个JSON文件(比如命名为config.json),把需要的变量按键值对存进去:
{ "ID": "USER-007", "System_id": "PROD-SYS-12", "IP": "10.0.0.5" }
2. 编写Python2.7读取脚本
用内置的json模块读取文件、解析内容,然后提取变量并输出。这里加入了异常处理,避免文件找不到、JSON格式错误等问题:
import json # 指定JSON文件路径(和脚本同目录的话直接写文件名即可) json_file = "config.json" try: # 打开文件并自动关闭(Python2.7支持with语法) with open(json_file, "r") as f: # 从文件对象加载并解析JSON数据为字典 config = json.load(f) # 提取需要的变量,用.get()避免键不存在时抛出KeyError target_id = config.get("ID") system_id = config.get("System_id") ip_address = config.get("IP") # 输出验证读取结果 print("成功读取到以下变量:") print("ID: {}".format(target_id)) print("System_id: {}".format(system_id)) print("IP: {}".format(ip_address)) except IOError as err: print("文件读取失败:{}".format(err)) except ValueError as err: print("JSON格式错误,无法解析:{}".format(err))
关键说明
- 这里的
import json是完全可行的,因为json是Python2.7的内置模块,不是外部依赖;你提到的“import方法不可用”应该是指不能直接importJSON文件作为模块(比如import config),这种方式确实不推荐,我们的方法完全避开了这个问题。 - 用
with open()语法可以自动管理文件资源,不用手动调用f.close(),更安全。 - 使用
.get()方法提取键值,比直接config["ID"]更稳妥——如果JSON里某个键缺失,只会返回None,不会直接崩溃。
运行这个脚本,就能看到从JSON文件里读取到的变量输出了,之后你就可以用这些变量去修改YAML文件的内容啦。
内容的提问来源于stack exchange,提问作者Teobot
相关产品推荐
相关产品推荐

