gpt4 book ai didi

Python `from module import name` 与 `import module`

转载 作者:行者123 更新时间:2023-12-03 20:39:56 24 4
gpt4 key购买 nike

为什么这不起作用:

>>> import structlog
>>> structlog.contextvars.bind_contextvars()
AttributeError: module 'structlog' has no attribute 'contextvars'
>>>
但这确实:
>>> from structlog.contextvars import bind_contextvars
>>> bind_contextvars()
>>>
似乎找不到关于何时使用 from x import y 的文档对比 import x .

最佳答案

我想知道您使用的是哪个版本的库和 Python,因为使用 Python 3.8 (Win 10 x64) 和 structlog 21.1.0(可用的最新版本)我没有看到错误,因为 code indicates (__init__.py 的包),子模块被导入(因为 contextvars.py 存在):

try:
from structlog import contextvars
except ImportError:
contextvars = None # type: ignore
在某些较旧的版本中,它可能会有所不同,并且子模块可能仅在某些情况下才被导入,否则会导致错误。

关于Python `from module import name` 与 `import module`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67437871/

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