这是我追踪的一部分。我不知道怎么可能。你知道吗
我认为没有多线程。但是,即使有一个线程正在更改gloabls()
,在列表创建过程中是否有可能更改globals()
?我以为list()
呼叫是用GIL保护的,不是吗?你知道吗
我复制了两次,但现在不能复制了。你知道吗
你知道怎么可能吗?你知道吗
源代码:https://github.com/python/cpython/blob/3.5/Lib/lib2to3/pgen2/token.py#L73
Python 3.5.2,CentOS Linux 7.4.1708版
from past.builtins import basestring
File "/home/user/app/lib64/python3.5/site-packages/past/__init__.py", line 88, in <module>
from past.translation import install_hooks as autotranslate
File "/home/user/app/lib64/python3.5/site-packages/past/translation/__init__.py", line 41, in <module>
from lib2to3.pgen2.parse import ParseError
File "/usr/lib64/python3.5/lib2to3/pgen2/parse.py", line 14, in <module>
from . import token
File "/usr/lib64/python3.5/lib2to3/pgen2/token.py", line 73, in <module>
for _name, _value in list(globals().items()):
RuntimeError: dictionary changed size during iteration
目前没有回答
相关问题 更多 >
编程相关推荐