我有一个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)
提前非常感谢你。
答案 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)