¿Cómo puedo hacer que un archivo Python ejecute otro? [duplicar]
¿Cómo puedo hacer que un archivo Python ejecute otro?
Por ejemplo, tengo dos archivos .py . Quiero que se ejecute un archivo y luego que ejecute el otro archivo .py .
Aceptado
Hay más de unas pocas maneras. Los enumeraré en orden de preferencia invertida ( es decir , el mejor primero, el peor al final):
- Trátelo como un módulo:
import file
. Esto es bueno porque es seguro, rápido y fácil de mantener. El código se reutiliza como se supone que debe hacerse. La mayoría de las bibliotecas de Python se ejecutan utilizando múltiples métodos distribuidos en muchos archivos. Muy recomendable. Tenga en cuenta que si su archivo se llamafile.py
, noimport
debe incluir la extensión al final..py
- El infame (e inseguro) comando ejecutivo : inseguro, hacky, generalmente la respuesta incorrecta. Evítelo siempre que sea posible.
execfile('file.py')
en pitón 2exec(open('file.py').read())
en pitón 3
- Generar un proceso de shell:
os.system('python file.py')
. Úselo cuando esté desesperado.
Obtenga un archivo de Python para ejecutar otro, usando Python 2.7.3 y Ubuntu 12.10:
Pon esto en main.py:
#!/usr/bin/python import yoursubfile
Pon esto en tusubfile.py
#!/usr/bin/python print("hello")
Ejecutarlo:
python main.py
Imprime:
hello
Así main.py
correyoursubfile.py
Hay 8 formas de responder a esta pregunta. Una respuesta más canónica está aquí: ¿ Cómo importar otros archivos de Python?
Utilicé subprocess.call, es casi igual que subprocess.Popen
from subprocess import call
call(["python", "your_file.py"])