导入中的python导入

标签 python import

我试图在一个模块中导入一个模块,然后从顶部访问较低级别的模块,但是它不可用。这是正常行为吗?

# caller.py
import first
print second.some_var

# first.py
import second

# second.py
some_var = 1

运行 caller.py 给出错误

NameError: name 'second' is not defined

我是否必须在 caller.pyimport second?这对我来说似乎违反直觉。

最佳答案

你可以使用

import first
print first.second.some_var

second 自动出现在命名空间中只是通过导入 first 会导致很多冲突

这也行

from first import second
print second.some_var

通配符的使用

from first import *

不鼓励,因为如果有人向 first 添加额外的属性/函数,如果他们碰巧选择相同的名称,他们可能会覆盖您在本地使用的属性

关于导入中的python导入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20012920/

相关文章:

python - PyGame 中的中文 unicode 字体

python - 如何处理python请求中的401(未授权)

mysql - 导入 8GB mysql dump 需要很长时间

svn - 复制 SVN 存储库

python - 在 python 文件中导入带有 python 绑定(bind)的 C 文件

python - 如何在 Python 中执行 HTTP Post "directly"

python - 是否可以预编译(预构建/预安装)Python C/C++ 扩展?

python - 遍历给定目录中的 python 文件并导入它们?

python - 为什么我不能导入 folium python 包?

Python:缺少依赖项时动态引发导入异常