gpt4 book ai didi

python - 启动交互式 shell 时导入

转载 作者:太空宇宙 更新时间:2023-11-03 19:38:23 25 4
gpt4 key购买 nike

当我通过manage.py启动交互式django shell时,执行

python -v manage.py shell

从项目目录中,我看到许多 django.package.module 格式的模块在详细输出中导入,但我仍然必须导入它们才能在 shell 中使用它。

当我刚刚运行 Python shell(使用 -v 参数)时,也会发生同样的情况。例如,我在详细输出中看到这一点,

import os # precompiled from /usr/local/gdp/lib/python2.4/os.pyc

但我仍然必须执行 import os 来导入和使用 os 模块。在详细输出中看到正在导入什么以及为什么我必须再次显式导入它们才能在 shell 中使用它们? Python 在启动 shell 时会加载一些基本模块还是某种幕后魔法?

最佳答案

-v 跟踪模块的第一次导入——实际加载模块的导入(执行其代码,因此可能需要一点时间)并将其粘贴到 sys.modules 中。

当然,无论您的交互式 session (模块__main__)是否将模块注入(inject)到其命名空间中,这都没有任何关系。确保模块'goo'确实进入模块'X'的命名空间(对于任何 X,所以当然包括 __main__...还有很多很多其他的),模块'X'只需要import goo 本身(如果 sys.modules['goo'] 已经定义,这确实是一个非常快的操作!-)。

关于python - 启动交互式 shell 时导入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2160190/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com