python里出现keyerror 怎么解决
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python里出现keyerror 怎么解决相关的知识,希望对你有一定的参考价值。
keyerror一般是你使用字典里不存在的key产生的错误,避免产生错误的方法很简单,使用字典的get方法,它接受一个key和一个默认值,这个默认值只有key不存在的使用返回,存在则只接访问key的值。
以下为解决方法:
如果不知道dict中是否有key的值,那么最好用
dict.get(key)
如果用dict[key]这个读取会报KeyError异常,
根据不同情况用不同的方式
python,go,redis,mongodb,.net,C#,F#,服务器架构
扩展资料:
Python(英国发音:/ˈpaɪθən/ 美国发音:/ˈpaɪθɑːn/), 是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum于1989年发明,第一个公开发行版发行于1991年。
Python是纯粹的自由软件, 源代码和解释器CPython遵循 GPL(GNU General Public License)协议 。Python语法简洁清晰,特色之一是强制用空白符(white space)作为语句缩进。
参考资料来源:百度百科-python
参考技术A解决方法如图所示:
Python为一种跨平台的计算机程序设计语言。一种面向对象的动态类型语言,最初被设计用于编写自动化脚本,随着版本的不断更新和语言新功能的添加,越多被用于独立的、大型项目的开发。
扩展资料:
python的控制语句:
1、if语句,当条件成立时运行语句块。经常与else, elif(相当于else if) 配合使用。
2、for语句,遍历列表、字符串、字典、集合等迭代器,依次处理迭代器中的每个元素。
3、while语句,当条件为真时,循环运行语句块。
4、try语句,与except,finally配合使用处理在程序运行中出现的异常情况。
5、class语句,用于定义类型。
6、def语句,用于定义函数和类型的方法。
7、pass语句,表示此行为空,不运行任何操作。
参考资料来源:百度百科-Python
参考技术Bkeyerror一般是你使用字典里不存在的key产生的错误,避免产生错误的方法很简单,使用字典的get方法,它接受一个key和一个默认值,这个默认值只有key不存在的使用返回,存在则只接访问key的值
a='a':'b','123':345try:
a['345']#报错,产生keyerror异常
except KeyError:
print 'catch an exception'
print a.get('345','not exist')#不存在key为345的值,只接返回字符串not exist
print a.get('a','not exist')#存在key为a的值,只接返回key为a的值本回答被提问者采纳
导入 python 模块时如何解决 KeyError?
【中文标题】导入 python 模块时如何解决 KeyError?【英文标题】:How do I solve a KeyError when importing a python module? 【发布时间】:2018-03-08 11:12:51 【问题描述】:我试图从不同的目录级别导入一个模块,所以我使用了:
import os
import sys
sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '..')))
但现在我得到了这个错误。我正在使用 Spyder,并且第一次使用以下导入时,它工作正常。
from source.search.ci_search_project import CI_Search_Project
从我第二次收到此错误开始。
模块中的文件“ipython-input-29-f35dfe634c32”,第 1 行 runfile('C:/Users/nrshakya/Documents/CI/src/Comp_IntelPython/ci_search_project_test.py', wdir='C:/Users/nrshakya/Documents/CI/src/Comp_IntelPython')
文件“C:\Users\nrshakya\AppData\Local\Continuum\Anaconda3\lib\site-packages\spyder\utils\site\sitecustomize.py”,第 880 行,在运行文件中 execfile(文件名,命名空间)
文件“C:\Users\nrshakya\AppData\Local\Continuum\Anaconda3\lib\site-packages\spyder\utils\site\sitecustomize.py”,第 102 行,在 execfile exec(编译(f.read(),文件名,'exec'),命名空间)
文件“C:/Users/nrshakya/Documents/CI/src/Comp_IntelPython/ci_search_project_test.py”,第 8 行,在模块中 从 source.search.ci_search_project 导入 CI_Search_Project
文件“冻结 importlib._bootstrap”,第 961 行,在 _find_and_load 中
文件“frozen importlib._bootstrap”,第 946 行,在 _find_and_load_unlocked 中
文件“冻结 importlib._bootstrap”,第 885 行,在 _find_spec 中
文件“冻结 importlib._bootstrap_external”,第 1157 行,在 find_spec 中
文件“冻结的 importlib._bootstrap_external”,第 1123 行,在 _get_spec 中
文件“frozen importlib._bootstrap_external”,第 994 行,在 iter
文件“冻结 importlib._bootstrap_external”,第 982 行,在 _recalculate 中
文件“冻结 importlib._bootstrap_external”,第 978 行,在 _get_parent_path 中
KeyError: '来源'
【问题讨论】:
请贴出重现问题所需的代码! 我将它添加到主要问题中。这只是一个导入: from source.search.ci_search_project import CI_Search_Project 有人找到解决办法了吗?我遇到了同样的问题。 【参考方案1】:According to Vera's answer to their question,在包含该模块的文件夹中添加一个空的__init__.py
文件将解决此问题。
【讨论】:
以上是关于python里出现keyerror 怎么解决的主要内容,如果未能解决你的问题,请参考以下文章
Python ConfigParser - 引发 KeyError (key)
python3 日志检索异常抛出异常 raise KeyError(key),KeyError: 'formatters'