1、今天写一个程序,要在A模块中执行B模块,于是就在B模块中定义一个start函数,然后在A中import B,再执行B.start()。虽然事实证明这样是可行的,但是感觉太土了,python一定有更好的方法。
google了一下,没有发现,不过有个贴子提到import module的时候,python其实就执行了一次该module,试了一下确实如此。
---test.py代码---
#!/usr/bin/env python
print 'hello, wolrd'
---import_test.py代码---
#!/usr/bin/env python
import test
执行import_test.py,输出'hello, wolrd'
2、另外__import__的效果和import是一样的,不过它可以"动态"载入模块,动态的意思是说__import__的第一个name参数可以是个变量。比如上面也可以写成__import__("test"),如果某个package下存在test模块,要想导入该模块,可以这样写__import__("package.test")。
###############以下为补充的内容#########################
仔细阅读了python手册,注意到一个事实就是import仅在首次导入模块的时候执行一次该模块,后续再导入的时候就不会执行了。