我正嘗試使用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函數是這樣的:使用操作系統模塊從Python運行R腳本
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
時,它的工作方式與預期的相同。
它非常快速地閃爍Windows命令提示符,然後像以前一樣返回1。我對可執行的C程序做了很多系統調用,我不確定爲什麼這個程序不按我想要的方式工作。 – Thetravellingfool
os.system已被棄用。嘗試使用子進程python模塊。 subprocess.call是你正在尋找的功能 – praveen
subprocess.call('C:/ Program Files/R/R-3.0.2/bin/i386/R --vanilla
praveen