【发布时间】:2010-03-01 11:04:59
【问题描述】:
如何访问使用名为 x 的变量屏蔽的名为 x 的模块?
【问题讨论】:
标签: python namespaces
如何访问使用名为 x 的变量屏蔽的名为 x 的模块?
【问题讨论】:
标签: python namespaces
不要将变量命名为 x 或使用 import ... as 样式。
>>> sys = 2
>>> import sys as s
>>> s
<module 'sys' (built-in)>
>>> sys
2
【讨论】:
使用sys.modules[module_name] ...并且您应该避免屏蔽模块名称:明智地使用import 语句,例如将 XYZ 导入为 ABC。
您还可以依赖使用更完整的命名空间“路径”,例如os.path.xxx
【讨论】:
sys 被屏蔽了怎么办?此外,使用命名空间路径也无济于事,例如os 不再是一个模块。
import x as someotherx
【讨论】: