您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Python:在“ exec”环境中出现奇怪的“ NameError:名称……未定义”

Python:在“ exec”环境中出现奇怪的“ NameError:名称……未定义”

这只是一个猜测,因为您没有给我们展示足够的代码,而您给我们展示的内容实际上并没有重现问题,但是……

如果您在exec函数内部执行此操作,则locals()globals()将有所不同。在这种情况下,代码将像在类定义中一样被执行。因此,就像您这样做:

class _:
    from x import X
    class Y(X): # does not crash here, ...
        def __init__(self):
            X.__init__(self) # ... but here
    foo=Y()
del _

如果是您的问题,您可以通过致电exec(code, globals(), globals())或来解决exec(code, locals(), locals())。(当然,哪一个合适,取决于您实际上要尝试执行的操作,而您没有告诉我们。)

python 2022/1/1 18:52:14 有298人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶