通过系统命令从R运行python
问题描述:
我想通过调用命令行的system2
函数从R执行python代码。通过系统命令从R运行python
下面是一个例子:
mcar = R6::R6Class(
public = list(
initialize = function() {
system2("python -c", "import gym; env = gym.make('MountainCar-v0')")
},
reset = function() {
system2("python -c", "env.reset()")
}
getActionSpace = function() {
system2("python -c", "env.action_space")
}
)
)
a = mcar$new()
a$reset()
a$getActionSpace()
a = mcar$new()
应该创建健身房环境,那么它应该是可以调用a$reset()
或a$getActionSpace()
。因为我事先不知道reset
和getActionSpace
将以何种顺序被调用,所以我不能只写一个python脚本并调用它,例如
import gym
env = gym.make('MountainCar-v0')
env.reset()
env.action_space
但system2("python -c", "import gym; env = gym.make('MountainCar-v0')")
返回一个错误:
running command '"python -c" import gym; env = gym.make('MountainCar-v0')' had status 127
答
是否有一个原因,你不要把所有的命令在Python脚本,然后就调用命令行?
python example.py
你可以把它写到文件,然后读取或只是尝试'蟒蛇-c“X = 1; X + 1”' –
为什么你甚至想这样做?如果您打算输入多个命令,请启动交互式会话。 –
好吧,对不起,也许我应该增加更多细节,但我想尽量简化问题...所以我从你的答案中得出这是不可能的?不,我不想使用文件,因为我想通过调用系统命令从外部程序调用python命令,并且事先不知道调用的顺序。我将编辑这篇文章,使其更清楚我想做什么。 – needRhelp