Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python KeyError:';文本/纯文本';什么意思?_Python_Python 2.7_Ipython_Spyder - Fatal编程技术网

Python KeyError:';文本/纯文本';什么意思?

Python KeyError:';文本/纯文本';什么意思?,python,python-2.7,ipython,spyder,Python,Python 2.7,Ipython,Spyder,我读了Guido的博客后在玩游戏时出现了这个错误 我很好奇嵌套字典是否有非递归限制,我确实收到了一条错误消息,但只有在使用IPython控制台的非常特定的情况下才会收到 如果我降低xrange(100工作),则没有错误。这是怎么回事 thing = {} thing2 = thing for x in xrange(500): thing2[x] = {} thing2 = thing2[x] thing 输出: Traceback (most recent call las

我读了Guido的博客后在玩游戏时出现了这个错误

我很好奇嵌套字典是否有非递归限制,我确实收到了一条错误消息,但只有在使用IPython控制台的非常特定的情况下才会收到

如果我降低xrange(100工作),则没有错误。这是怎么回事

thing = {}
thing2 = thing
for x in xrange(500):
    thing2[x] = {}
    thing2 = thing2[x]

thing
输出:

Traceback (most recent call last):

  File "<ipython-input-83-0b6d347b01d4>", line 1, in <module>
    thing

  File "C:\Python27\lib\site-packages\IPython\core\displayhook.py", line 255, in __call__
    self.log_output(format_dict)

  File "C:\Python27\lib\site-packages\IPython\core\displayhook.py", line 227, in log_output
    format_dict['text/plain']

KeyError: 'text/plain'


repr(thing)
Out[84]: '{0: {1: {2: {3: {4: ....{497: {498: {499: {}}}}}}}}'
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
事情
文件“C:\Python27\lib\site packages\IPython\core\displayhook.py”,第255行,在调用中__
self.log\u输出(格式为dict)
日志输出中第227行的文件“C:\Python27\lib\site packages\IPython\core\displayhook.py”
格式[文本/纯文本]
KeyError:“文本/普通”
报告(事)
Out[84]:“{0:{1:{2:{3:{4:{497:{498:{499:{}”

这肯定是IPython的问题。如果您尝试显示“thing”,它将失败(在Python3/IPython 4中显示另一条错误消息)。但是,它是完全有效的对象

这(500万级)还可以(尽管创建需要几秒钟):


无法再现相同的错误。这(可能)是IPython如何将数据输出到HTML页面的问题。值得注意的是,它在Python 3.x和IPython-4.04中也失败,调用Python对象时出现错误
超过最大递归深度。
thing = {}
thing2 = thing
for x in range(5000000):
    thing2[x] = {}
    thing2 = thing2[x]
thing;