2009-12-29 71 views

回答

9

如果此模块作为独立程序运行,这将是真实的。这样,某些东西既可以作为另一个程序导入的模块,也可以作为独立程序运行,但只有在作为程序执行时才能执行if语句中的代码。

4

这是一个检查,看看你是直接运行脚本还是包含在库中。

当你运行一个python脚本是这样的:

python myScript.py 

它发出了一个参数,告诉你运行程序第一种方法,它被广泛称为“主”,所以当__name____main__你知道程序从命令行执行或双击。

1

他写了一个python模块,打算通过import使用。

如果该模块作为主python脚本传递给解释器,则会引用您引用的代码。这将调用python调试器下的interact()方法。

13

__name__是一个自动设置在执行python程序中的变量。如果您的import来自另一个程序的模块__name__将被设置为模块的名称。如果您直接运行程序,则__name__将设置为__main__

因此,如果你想,如果你在命令行中运行该程序,而不是进口的当一些事情发生(如:单元测试库),你可以使用

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成语。

相关问题