Comprobando si __name__ == '__main__'
es un modismo común para ejecutar algún código cuando el archivo se está llamando directamente, en lugar de a través de un módulo.¿Cuáles son los diferentes valores posibles para __name__ en un script de Python, y qué significan?
En el proceso de escribir un comando personalizado para manage.py de Django, me encontré que necesitaba usar code.InteractiveConsole
, que da el efecto al usuario de un shell python estándar. En algún código de prueba que estaba haciendo, encontré que en el script que estoy tratando de ejecutar, obtengo que __name__
es __console__
, lo que hizo que mi código (dependiente de __main__
) no se ejecutara.
Estoy bastante seguro de que tengo algunas cosas en mi implementación original para cambiar, pero me hizo preguntarme qué cosas diferentes __name__
podrían ser. No pude encontrar ninguna documentación sobre los valores posibles, ni lo que significan, así es como terminé aquí.
@ S.Lott, gracias por la ayuda! – sunqiang
Probablemente no necesite el conjunto() o lista, podría usar una sola tupla de cadenas. –
@GringoSuave de acuerdo, :) – sunqiang