2017-02-23 60 views
0

將外部r_test.r文件連接到python代碼(使用rpy2通過python運行r文件)的方式如下。使用動態路徑將R文件連接到python時出現問題。

r(''' source('r_test.r') 
    ''') 

這並不在我的燒瓶應用程序。所以我試圖得到完整的網址和使用相同的功能

r(''' source('/Users/flyn/...../some_flask_app/scr/Configuration/app/api/scripts/r_test.r') 
    ''') 

這工作。現在要做到這一點,我嘗試了這一點。

global_loc = global_loc = os.path.dirname(os.path.realpath(__file__)) 
r_loc = global_loc+'/r_test.r' 
r(''' source(r_loc) 
    ''') 

這沒有奏效。它拋出一個錯誤:'找不到'object'r_loc'。 所以我的問題是,
1.我將如何能夠將字符串傳遞給r('''''')段?
2.有沒有更好的方法來處理這個問題?

回答

1

嘗試使用格式

source = '''  source({}) '''.format(r_loc) 
r(source) 

不知道問題2.

+0

這工作。需要小編輯。源文件中的引號。 ('{}')'''.format(r_loc) r(source) –