2009-12-29 17 views

Respuesta

9

Esto será cierto si este módulo se está ejecutando como un programa independiente. De esta forma, algo puede actuar como un módulo importado por otro programa o un programa independiente, pero solo ejecutar el código en la declaración if si se ejecuta como un programa.

4

Es una comprobación para ver si está ejecutando directamente el script o si está incluido en una biblioteca.

Cuando se ejecuta un script en Python, así:

python myScript.py 

envía un parámetro, que le dice a ejecutar los programas primer método, que es ampliamente llamado "principal", por lo que cuando __name__ es __main__ ustedes saben que el programa se ejecutó desde una línea de comando o se hizo doble clic.

1

Ha escrito un módulo python, destinado a ser utilizado a través del import.

Si el módulo se pasa al intérprete como la secuencia de comandos principal de python, se ejecutará el código que cita. Esto invocará el método interact() bajo el depurador de python.

13

__name__ es una variable que se establece automáticamente en un programa en ejecución de python. Si import su módulo de otro programa, __name__ se configurará con el nombre del módulo. Si ejecuta su programa directamente, __name__ se establecerá en __main__.

Por lo tanto, si quieres algunas cosas que suceden solamente si se está ejecutando el programa desde la línea de comandos y no cuando es importado (por ejemplo. Las pruebas unitarias para una biblioteca), se puede utilizar el

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" 

truco. Es un idioma común de Python.

Cuestiones relacionadas