-1
我想通過調用命令行的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
你可以把它寫到文件,然後讀取或只是嘗試'蟒蛇-c「X = 1; X + 1」' –
爲什麼你甚至想這樣做?如果您打算輸入多個命令,請啓動交互式會話。 –
好吧,對不起,也許我應該增加更多細節,但我想盡量簡化問題...所以我從你的答案中得出這是不可能的?不,我不想使用文件,因爲我想通過調用系統命令從外部程序調用python命令,並且事先不知道調用的順序。我將編輯這篇文章,使其更清楚我想做什麼。 – needRhelp