【发布时间】:2018-03-15 22:24:31
【问题描述】:
我想从 Python 运行 R 脚本。以下脚本在没有“+ args”时有效。任何人都知道传递参数有什么问题吗?
Python 脚本:
import subprocess
Iterations = 10
command = 'C:/Program Files/R/R-3.4.3/bin/Rscript.exe'
path2script = 'C:/Users/a0266997/Documents/PossionDistribution.R'
args = [str(Iterations)]
cmd = [command, path2script] + args
subprocess.Popen(cmd)
R 脚本:
myArgs <- commandArgs(trailingOnly = TRUE)
Iterations = myArgs[0]
Iterations
do something in R ....
【问题讨论】:
-
我在您的 R 代码中看到的一个问题是您使用的是
myArgs[0],它应该是myArgs[1],因为 R 向量以 1 而不是 0 开头。当然 python 从 0 开始,所以这是一个在两种语言之间切换很容易出错。
标签: python r arguments subprocess