qué programacion módulos modulos lista librerias libreria importar implementa cliente clases bibliotecas basicas python module

módulos - programacion modular en python



¿Cómo puedo determinar si un script de python se importa como módulo o se ejecuta como script? (1)

La pregunta es bastante sencilla pero no se responde mediante una búsqueda. ¿Cómo puedo determinar en una secuencia de comandos de python si esta secuencia de comandos se importa como un módulo o se ejecuta como una secuencia de comandos? ¿Hay alguna diferencia en Python?

El problema es que quiero evaluar los parámetros de la línea de comandos solo si se ejecuta como un script, pero no si el módulo solo se importa para usarlo en otro script. (Quiero poder usar un script como biblioteca y programa). Me temo que la manera de la vainilla sería construir la lib y un segundo script que lo use, pero me gustaría tener una segunda opción para una herramienta pequeña / libs.


de los docs python:

Cuando ejecutas un módulo de Python con

python fibo.py

el código en el módulo se ejecutará, como si lo importara, pero con el __name__ establecido en "__main__" . Eso significa que al agregar este código al final de su módulo:

if __name__ == ''__main__'': # Running as a script

puede hacer que el archivo sea utilizable como un script, así como un módulo importable, porque el código que analiza la línea de comandos solo se ejecuta si el módulo se ejecuta como el archivo "principal"