Pasar argumentos en subprocess.check_call
Publicado por Richard David (1 intervención) el 26/12/2018 12:07:11
Hola, quiero ejecutar una aplicacion de python "log_imu_simple.py" y que esta se reejecute automaticamente al caerse, para ello utilizo otro script de python que se muestra abajo, necesito poder pasarle los parámetros de tiempo_inicial y nombre_archivo. Pero la funcion subprocess.check_call sólo me deja ejecutar la aplicacion si no le envío ningún parámetro. Cómo podría pasarle los parámetros? Muchas gracias.
NO FUNCIONA path = "/home/pi/ITER/heliodron/telemetry/log_imu_simple.py -it %f -fn %s" % (tiempo_inicial, nombre_archivo)
SI FUNCIONA path = "/home/pi/ITER/heliodron/telemetry/log_imu_simple.py"
---------------------------------------Código del programa--------------------------------------
NO FUNCIONA path = "/home/pi/ITER/heliodron/telemetry/log_imu_simple.py -it %f -fn %s" % (tiempo_inicial, nombre_archivo)
SI FUNCIONA path = "/home/pi/ITER/heliodron/telemetry/log_imu_simple.py"
---------------------------------------Código del programa--------------------------------------
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#!/usr/bin/env python
import subprocess
import time
import os
nombre_archivo = time.strftime("%Y%m%dT%H%M%S")
tiempo_inicial = time.time()
path = "/home/pi/ITER/heliodron/telemetry/log_imu_simple.py -it %f -fn %s" % (tiempo_inicial, nombre_archivo)
while True:
try:
subprocess.check_call(["python2", path])
except subprocess.CalledProcessError:
continue
Valora esta pregunta


0