Why does it do this ? if - __name__ == '__main__'
本问题已经有最佳答案,请猛点这里访问。
Possible Duplicate:
What doesdo?
考虑此代码:
1 2 3 4 | if __name__ == '__main__': import pdb pdb.run("interact() ") |
下面这一行是什么意思?
1 | if(__name__=='__main__') |
我昏过去了。
因此,如果您只希望在从命令行运行程序而不希望在导入时发生某些事情(例如,库的单元测试),则可以使用
1 2 3 4 5 6 | if __name__ =="__main__": # will run only if module directly run print"I am being run directly" else: # will run only if module imported print"I am being imported" |
诡计。这是一个常见的python习惯用法。
如果此模块作为独立程序运行,则为真。这样,某些东西既可以作为由另一个程序导入的模块,也可以作为独立程序,但如果作为程序执行,则只能执行
这是一个检查,看您是否直接运行脚本,或者脚本是否包含在库中。
当您运行这样的python脚本时:
1 | python myScript.py |
它发送一个参数,告诉您首先运行程序的方法,这被广泛称为"main",所以当
他编写了一个python模块,打算通过
如果模块作为主python脚本传递给解释器,那么您引用的代码将运行。这将调用Python调试器下的