从...导入或导入...至于模块

从...导入或导入...至于模块,第1张

从...导入或导入...至于模块

假设

bar
是中的模块或包
foo
,没有区别*,那就没关系。这两个语句具有完全相同的结果:

>>> import os.path as path>>> path<module 'posixpath' from '/Users/mj/Development/venvs/stackoverflow-2.7/lib/python2.7/posixpath.pyc'>>>> from os import path>>> path<module 'posixpath' from '/Users/mj/Development/venvs/stackoverflow-2.7/lib/python2.7/posixpath.pyc'>

如果

bar
不是模块或软件包,则第二种形式将不起作用;引发回溯:

>>> import os.walk as walkTraceback (most recent call last):  File "<stdin>", line 1, in <module>importError: No module named walk

*在Python 3.6及更高版本中,包含其他模块的软件包的初始化顺序存在一个错误,即在软件包 的加载阶段,

import contained.module.something as alias
在子模块中使用 该软件包 会失败,
from contained.module import something as alias
而不会失败。有关该问题以及Python问题#23203和#30024的说明性示例



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5643866.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存