我已使用this SO answer动态生成模块x
并在sys.modules
中注册。我希望在此模块上调用导入时自动运行一段代码。所以我想要print "you just imported module x"
。所以它表现得像:
>>> import x
you just imported module x
我如何得到这种行为?
答案 0 :(得分:0)
要简单地扩展所选答案中给出的示例,您可能会这样。
print "You just imported module {}".format(foo.Foo.__module__)
答案 1 :(得分:0)
任何"孤儿"导入模块时,将执行代码(不在类或函数内部或if __name__ == '__main__:'
块内部编写的代码)。