I have a python script which takes some 5 arguments( a filename, 3 int values and 2 float values). I need to call this python script from R. How can I do that. I am trying to use rPython, but it doesnt allow me to pass the argument
library("rPython")
python.load("python scriptname")
I dont know how to pass the arguments
from command line, i run my python script like:
python scriptname filename 10 20 0.1 5000 30
You can invoke a system command
system('python scriptname')
To run the script asynchronously you can set the wait flag to false.
system('python scriptname filename 10 20 0.1 5000 30', wait=FALSE)
The arguments that get passed as they would in command line. You will have to use sys.argv in the python code to access the variables
#test.py
import sys
arg1 = sys.argv[1]
arg2 = sys.argv[2]
print arg1, arg2
The R command below would output 'hello world'
system('python test.py hello world', wait=FALSE)
There is a small typo in the great previous answer. The right code is the following:
system('python test.py hello world', wait = FALSE)
where wait is FALSE (not wait=Flase or wait=False)