2012-07-08 38 views
2

我已經寫了一個Python函數,它帶有兩個參數,其中一個是文件路徑名。我已經將這個調用封裝到了一個循環中的Python函數中。我希望能夠更新這個R for循環中的一個變量,並將這個變量的值作爲文件路徑名傳遞給python函數。我怎樣才能做到這一點?如何將R變量傳遞給python函數的系統調用?

R代碼裏面:

for (file in filenames) { 
    file <- paste("/home/yyy/xx", file, sep="/") 
    system('python pylib/filefunction.py <TODO: file> divide') # divide is the 2nd argument 
} 
+0

什麼有關轉換劃分爲一個字符串並將其連接到系統調用的結尾? (也許用粘貼?) – thenoviceoof 2012-07-08 07:04:32

回答

5

我相信你可以再次使用paste

for (file in filenames) { 
    file <- paste('/home/yyy/xx', file, sep='/') 
    system(paste('python', 'pylib/filefunction.py', file, 'divide')) 
} 

或者,更好,sprintf

for (file in filenames) { 
    system(sprintf('python pylib/filefunction.py /home/yyy/xx/%s divide', file)) 
} 
+0

如果這不是正確的答案,那麼我不明白這個問題。 (1) – Henrik 2012-07-08 14:08:01

相關問題