[R-es] Ejecutar un script de Python con argumentos desde R

Juan Abasolo ju@n@@b@@o|o @end|ng |rom ehu@eu@
Vie Jun 14 15:48:26 CEST 2019


Y así es como cada vez te debo más cervezas o cafés!

Mil gracias.

Me faltaba invocar *python*


*system(*







*   paste0('python script.py ',               paste0(ar[i], '1 '),
     ar[i],               paste0(' ', ar[i], '3')               ) )*

Entiendo que el comando shell() es para que funcione en windows; en Linux
con el original system() es suficiente. Veo que tengo que hacer algo
también para que el sistema espere a que se termine de ejecutar el comando,
porque necesito que lea los ficheros que genera. Pero de eso me desasno
leyendo.

Gracias



Hau idatzi du Marcelino De La Cruz Rot (marcelino.delacruz using urjc.es)
erabiltzaileak (2019 eka. 14, or. (12:52)):

> 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
>
>

-- 
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>

	[[alternative HTML version deleted]]



Más información sobre la lista de distribución R-help-es