【发布时间】:2014-01-26 23:05:30
【问题描述】:
如果我使用如下语法导入 python 模块:
import my_module
我可以稍后使用一些最简单的命令来了解模块是什么,它的位置等等。例如:
print(my_module)
输出:来自“my_module.py”的模块“my_module”
dir(my_module)
输出:['MyClass', 'builtins', 'doc', 'file', 'name', 'package', 'math', 'os', 'sys']
我什至可以通过以下方式找到模块的绝对路径:
print os.path.abspath( my_module.__file__ )
输出:/Users/julia/Documents/classes/my_module.py
但如果不是 import 'my_module' 我会使用:
from my_module import MyClass
我只能:
print MyClass
输出:my_module.MyClass
我确实看到 MyClass 来自 my_module 文件。但不幸的是,这就是我所能得到的,因为我用来获取模块信息的命令都不起作用。这是使用及其输出:
print dir(my_module.MyClass) NameError: name 'my_module' is not defined
print dir(my_module) NameError: name 'my_module' is not defined
print my_module name 'my_module' is not defined
在追踪导入的模块时我应该使用什么命令(-s)
from my_module import MyClass
语法?
【问题讨论】:
-
嗯?问题是什么?如果您只是导入 MyClass ...您只导入了该类...
-
这对我有用。也许您根本不导入该模块,而是想打印它的详细信息。
标签: python module namespaces