You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何Python代码报错NameError: name 'wantedKey1' is not defined?

分析NameError: name 'wantedKey1' is not defined的原因及修复方案

这个错误的根源其实很清晰,咱们一步步拆解:

核心问题:变量未定义+大小写不一致

  1. 变量从未被定义
    Python要求使用任何变量前必须先给它赋值定义。你代码里的wantedKey1从头到尾都没有被赋值过,Python根本不知道这个名字对应的是什么内容,所以执行到打印语句时直接抛出NameError。

  2. 大小写拼写不一致
    你在if判断里写的是wantedkey1(全小写),但打印时用的是wantedKey1(驼峰式)——Python对标识符的大小写是严格敏感的,这两个在Python眼里是完全不同的变量名,就算你定义了其中一个,另一个还是会报错。

修复后的代码示例

首先你需要先明确wantedKey1的具体值,也就是你要查找的键名,然后统一变量名的大小写:

# 先定义你要查找的目标键名
wantedKey1 = "your_target_key"  # 替换成你实际要找的键
json_data = '{"sample_key": {"entry": [{"your_target_key": "sample_value"}]}}'  # 示例JSON数据

for key, di in json.loads(json_data).items(): 
    if wantedKey1 in di['entry'][0]:  # 统一使用正确的变量名
        print("found") 
        found = True 
        print(found) 
        print(f"{wantedKey1} : {di['entry'][0][wantedKey1]}") 
        break

额外注意事项

  • 始终确保变量名大小写完全一致,避免因为拼写细节导致的错误;
  • 所有要使用的变量必须先赋值定义,Python不会自动推断你想引用的变量内容。

内容的提问来源于stack exchange,提问作者Nitin Punekar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 04:39:57