标签:
场景: 当在import某个python文件之后 但是并不想执行该文件的某些部分。
解决: python内置变量__name__, 来代表模块的名字。如果该模块是被导入的,__name__的值为模块名字,如果该模块是被直接执行,__name__的值为‘__main__‘
1. 定义一个模块model.py,里面含有一个 if(__name__==‘__main__‘), 运行时候会运行后面的main方法
#! /usr/bin/env python3 print("这里是model") def main(): print("这里是model.main") def test(): print("这里是model.test") if(__name__==‘__main__‘): main() ================================= 返回结果: 这里是model 这里是model.main
2. 定义一个mypython.py,引用model.py,运行的时候并没有运行main
#! /usr/bin/env python3 import model model.test() ===================== 返回结果 这里是model 这里是model.test
大多时候使用 __name__==‘__main__‘ 来做测试,把测试的代码放在这里在别的代码引用次模块时候测试代码不会运行。
标签:
原文地址:http://www.cnblogs.com/benchen/p/5771008.html