import subprocess r_prog = "printstats <- function(x) {\n print( mean(x) )\n print( sd(x))}" r_prog += "\n" + "nums <- c(1, 2, 3, 4, 5)\nprintstats(nums)" with open('prog.r', 'w') as fout: fout.write(r_prog) cmd = "R --slave --vanilla" subprocess.call(cmd.split(), stdin=open('prog.r'), universal_newlines=True)