Python中每个模块都有一个名称,当一个模块被第一次输入的时候,这个模块的主块(__main__)将被运行。假如我们只想在程序本身被使用的时候运行主块,而在它被别的模块输入的时候不运行主块,我们该怎么做呢?这可以通过模块的__name__属性完成:
看下面这个例子:
a.py:
#!/usr/bin/python
# Filename: a.py
if __name__ == '__main__':
print 'This program is being run by itself'
else:
print 'I am being imported from another module'
b.py:
#!/usr/bin/python
# Filename: b.py
import a
运行:
$ python2.7 a.py
This program is being run by itself
$ python2.7 b.py
I am being imported from another module
-------
总结: 每个Python模块都有它的__name__,如果__name__是'__main__',这说明这个模块被用户单独运行
参考: