[R-es] Ejecutar un script de Python con argumentos desde R
Marcelino De La Cruz Rot
m@rce||no@de|@cruz @end|ng |rom urjc@e@
Vie Jun 14 12:51:54 CEST 2019
Hola Juan:
en vez de system(), quería decir shell(), es decir:
shell(
paste0('script.py ',
paste0(ar[i], '1 '),
ar[i],
paste0(' ', ar[i], '3')
)
)
Si el script está en el working directory [getwd()], te debería
funcionar sin problemas.
Tanto system() como shell() te permiten interactuar con el sistema
fácilmente. Cada una tiene sus peculiaridades. Consulta ?system y ?shell
El 14/06/2019 a las 12:14, Juan Abasolo escribió:
> Ni idea de eso; te lo agradezco. Seguramente lo voy a terminar usando
> bastante.
> Pregunto: ahí debería hacer todas las operaciones propias del sistema?
> No me encuentra el script, y se me hace raro. Capaz que pasa al
> sistema desde la carpeta en la que está el script de R, no desde el wd
> de R.
> Ahora me toca salir y después intentar probar y que funcione.
> Gracis de vuelta
>
>
>
> Hau idatzi du Marcelino De La Cruz Rot (marcelino.delacruz using urjc.es
> <mailto:marcelino.delacruz using urjc.es>) erabiltzaileak (2019 eka. 14, or.
> (11:46)):
>
> ¿Has probado esto?
>
> system(
> > paste0('script.py ',
>
> paste0(ar[i], '1 '),
> ar[i],
> paste0(' ', ar[i], '3')
> )
>
> )
>
>
>
>
> El 14/06/2019 a las 11:36, Juan Abasolo escribió:
> > Hola, amigos
> > Se me acabo la sapienza. A ver:
> > tengo un sript de Python script.py que neesita sus argumentos
> arg1 arg2
> > arg3, si desde la consola del sistema me pongo en la carpeta en
> la que lo
> > tengo y hago:
> > $ script.py arg1 arg arg3
> > Funciona perfecto.
> >
> > Pero desde R no lo consigo (entiendo que por no saber)
> >
> > Lo hago así (copio y pego):
> >
> > dir <- getwd()
> > setwd('data/row/directoriocondatos/')
> >
> > py_run_string(
> > paste0('script.py ',
> > paste0(ar[i], '1 '),
> > ar[i],
> > paste0(' ', ar[i], '3')
> > ))
> > setwd(dir)
> >
> > El resultado del paste0() ese lo pego en la consola del sistema y
> > perfecto... pero olvidate del for. Yo quiero que el script quede
> integrado
> > para hacer todo de un solo paso, pero no sé.
> >> paste0('script.py ',
> > paste0(ar[i], '1 '),
> > ar[i],
> > paste0(' ', ar[i], '3')
> > )
> > [1] "script.py arg1 arg arg3" # Si eso lo pego en la consola,
> todo bien.
> >
> > Eso significa que tengo que corregir algo de la orden, o
> cambiarla o...
> > manden
> > Alguien que me desasne?
> >
> >
>
> --
> Marcelino de la Cruz Rot
> Depto. de Biología y Geología
> Física y Química Inorgánica
> Universidad Rey Juan Carlos
> Móstoles España
>
>
>
> --
> Juan Abasolo
>
> Hizkuntzaren eta Literaturaren Didaktika Saila | EUDIA ikerketa taldea
> Bilboko Hezkuntza Fakultatea
> Euskal Herriko Unibertsitatea
> UPV/EHU
>
> Sarriena auzoa z/g 48940 - Leioa (Bizkaia)
>
> T: (+34) 94 601 7567
> Telegram: @JuanAbasolo
> Skype: abasolo72
>
> Tutoretza ordutegia <https://labur.eus/JAbasolo-tutoretzak>
--
Marcelino de la Cruz Rot
Depto. de Biología y Geología
Física y Química Inorgánica
Universidad Rey Juan Carlos
Móstoles España
Más información sobre la lista de distribución R-help-es