我正在尝试使用os.chdir()
和os.system()
在Python中运行R中的简单脚本。我能够从Windows命令提示符运行代码,所以我不认为从Python运行它将是一个问题。我的R程序位于C:/Program Files/R/R-3.0.2/bin/i386
,R脚本位于C:/Users/Kyle/Desktop/script.R
,因此我的Python函数如下所示:
def runScript():
os.chdir('C:/Program Files/R/R-3.0.2/bin/i386')
returnCode = os.system('R --vanilla < C:/Users/Kyle/Desktop/script.R')
print returnCode
return
这不能做我想做的事情,并返回1的返回码。有什么想法吗?
P.S。当我将Windows命令提示符中的目录更改为上面的目录并运行R --vanilla < C:/Users/Kyle/Desktop/script.R
时,它的工作方式与预期的一样。
答案 0 :(得分:0)
有什么问题
def runScript():
os.chdir('')
returnCode = os.system(r'C:/Program Files/R/R-3.0.2/bin/i386/R --vanilla < C:/Users/Kyle/Desktop/script.R')
print returnCode
return returnCode
答案 1 :(得分:0)
在cmd.exe系统(Windows NT,2000和XP)上,这是命令运行的退出状态
这意味着您的R脚本肯定会使用命令“exit(1)”退出,或者有一个错误,该错误由R解释器的default error handler处理。