es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

La palabra clave es ejecutar el script referenciado.

Estoy tratando de usar la palabra “import” para usar una variable de otro script de Python. El problema es que cada vez que ejecuto el script dos, también se ejecuta el script uno. Solo quiero ejecutar el script dos. ¿Por qué está haciendo esto?

script_two.py:

from script_one import number

print(number)

script_one.py:

number = 1

print(number + 1)

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Cuando importas un módulo en Python, el módulo completo se ejecuta antes de que se ejecute la instrucción de importación. Esto significa que cuando importas script_one en script_two, se ejecuta script_one y su resultado se muestra antes de que la ejecución de script_two continúe.

    Para evitar esto, puedes utilizar el bloque if name == “main“: en script_one. Este bloque de código solo se ejecutará si script_one se ejecuta como el script principal, y no si se importa como un módulo en script_two.

    Aquí tienes un ejemplo de cómo puedes modificar script_one para evitar que se ejecute al ser importado:

    number = 1
    
    if __name__ == "__main__":
        print(number + 1)
    

    Con esta modificación, cuando importas number desde script_one en script_two, el código dentro del bloque if name == “main“: no se ejecutará, y solo se importará el valor de number.

Comments are closed.