Как вызвать скрипт Python из R с аргументами
У меня есть скрипт Python, который принимает около 5 аргументов (имя файла, 3 значения типа int и 2 значения с плавающей точкой). Мне нужно вызвать этот сценарий Python от R. Как я могу это сделать. Я пытаюсь использовать rPython, но он не позволяет мне передать аргумент
library("rPython")
python.load("python scriptname")
Я не знаю, как передать аргументы
из командной строки я запускаю свой скрипт на python:
python scriptname filename 10 20 0.1 5000 30
2 ответа
Вы можете вызвать системную команду
system('python scriptname')
Чтобы запустить скрипт асинхронно, вы можете установить флаг ожидания в false.
system('python scriptname filename 10 20 0.1 5000 30', wait=FALSE)
Аргументы, которые передаются, как в командной строке. Вам нужно будет использовать sys.argv в коде Python для доступа к переменным
#test.py
import sys
arg1 = sys.argv[1]
arg2 = sys.argv[2]
print arg1, arg2
Команда R, приведенная ниже, выведет "Hello World"
system('python test.py hello world', wait=FALSE)
В большом предыдущем ответе есть небольшая опечатка. Правильный код следующий:
system('python test.py hello world', wait = FALSE)
где ожидание - ЛОЖЬ (не ожидание = Ложь или ожидание = Ложь)