2014-06-13 34 views
0

我做的R包,除其他事項外,呼籲一個python命令行程序用下面的代碼:將調用添加到R包中的(Python)命令行程序的最佳方式是什麼?

py_loc = paste('C:/Python33/python.exe',system.file('exec', 'example.py', package='examplePackage')) 
command <- paste(py_loc,"-e example") 

它運行程序example.py在我example包的使用Python可執行C:/Python33/python.exeexec文件夾。因爲我使用Windows,並且我想與其他Windows用戶(但也是非Windows用戶)共享它,所以我無法使用rPython編寫代碼。 問題是,python.exe將位於其他用戶不同的地方。

我的想法是添加一個config文件,您可以在其中設置Python可執行文件的位置,或者將其作爲函數的輸入。有沒有更好的方式將調用添加到R包中的(Python)命令行程序中?

+1

你看過http://cran.r-project.org/web/packages/findpython/index.html – jdharrison

+0

@jdharrison我不知道存在,謝謝! –

回答

0

你可以做的是做一個平臺依賴的包裝函數,它接受python可執行文件的路徑,python腳本和腳本的命令行參數。這應該創建正確的批處理/ shell命令字符串,並與R.的system命令來運行它,它可以讓你捕獲從批處理/ shell過程的輸出,你可以進一步處理此輸出,在R.

0

嘗試rPython只要安裝了Python和相關模塊,就可以實現與平臺無關的調用。

Examples

+0

rPython在Windows上不起作用。 –

相關問題