Quiero ejecutar un script de Python desde otro script de Python. Quiero pasar variables como lo haría usando la línea de comando.Ejecutar un script de python desde otro script de python, pasando args
Por ejemplo, me gustaría dirigir mi primer guión que iterar a través de una lista de valores (0,1,2,3) y pasar los al segundo guión script2.py 0
continuación script2.py 1
, etc.
me encontré con SO 1186789 que es una pregunta similar pero la respuesta de ars llama a una función, donde como quiero ejecutar todo el script no es solo una función, y la respuesta de balpha llama al script pero sin argumentos. Lo alteré a algo como el siguiente como una prueba:
execfile("script2.py 1")
Pero no acepta las variables correctamente. Cuando imprimo sys.argv
en script2.py, es la llamada original al primer script "['C: \ script1.py'].
Realmente no quiero cambiar el script original (es decir, script2. .. py en mi ejemplo) ya que no poseo
calculo tiene que haber una manera de hacer esto, estoy confundido cómo lo hace
La pregunta es si conoce el nombre del script (luego lo importa) o si no conoce el nombre del script en tiempo de programación (luego use subprocess.call). En el segundo caso, esta pregunta tampoco sería un duplicado. Debido a que la pregunta no lo deja claro, tampoco es realmente buena. – Trilarion
@Trilarion: mal. Puede importar un módulo de python incluso si su nombre se genera en tiempo de ejecución. – jfs
@ J.F.Sebastian Bien. Como observación adicional: de esta manera, esta respuesta no está bien cubierta por ninguna respuesta aquí o en la pregunta vinculada, excepto en parte en http://stackoverflow.com/a/1186840/1536976. – Trilarion