python 模块可以检测是否已导入import module
or from module import *
?就像是
if __something__=='something':
print 'Directly imported with "import ' + __name__ + '"'
else:
print 'Imported with "from ' + __name__ + ' import *"'
谢谢。
不,不可能从模块的代码中检测到这一点。第一次导入时,模块主体被执行,一个新的模块对象被插入sys.modules
。只有在此之后,请求的名称才会插入到导入模块的命名空间中。
稍后导入时,模块主体甚至不会被执行。因此,如果一个模块首先导入为
import module
第二次作为
from module import name
在第二次导入期间它根本没有机会做任何事情。特别是,它无法检查它是如何导入的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)