通过subprocess.call

时间:2016-03-02 23:21:08

标签: python r

我有一个R脚本可以自行运行,但我需要它作为python脚本的一部分。因此,当我运行python脚本时,R脚本会自动执行。 我用下面的命令;没有错误但是没有创建R脚本输出文件。

import subprocess

retcode = subprocess.call("C:/Program Files/R/R-3.2.2/bin/Rscript --vanilla T:/2012.R", shell=True)

提前非常感谢你。

1 个答案:

答案 0 :(得分:2)

只需将字符串命令放在括号中并将字符串分解为单独的组件,因为函数的第一个参数需要参数列表,符合doc

  

subprocess.call(args,*,stdin = None,stdout = None,stderr = None,   壳=假)

import subprocess

retcode = subprocess.call(['C:/Program Files/R/R-3.2.2/bin/Rscript', '--vanilla', 
                           'T:/2012.R'], shell=True)

或者,将其分解为多个字符串:

command = 'C:/Program Files/R/R-3.2.2/bin/Rscript'
arg = '--vanilla'
path2script = 'T:/2012.R'

retcode = subprocess.call([command, arg, path2script], shell=True)