通过subprocess.Popen在python中执行R脚本
||
当我在R中执行脚本时,它是:
$ R --vanilla --args test_matrix.csv < hierarchical_clustering.R > out.txt
在Python中,如果使用以下命令,它将起作用:
process = subprocess.call(\"R --vanilla --args \"+output_filename+\"_DM_Instances_R.csv < /home/kevin/AV-labels/Results/R/hierarchical_clustering.R > \"+output_filename+\"_out.txt\", shell=True)
但是此方法不提供“ 2”功能。
因此,我想使用subprocess.Popen
,我尝试过:
process = subprocess.Popen([\'R\', \'--vanilla\', \'--args\', \"\\\'\"+output_filename+\"_DM_Instances_R.csv\\\'\", \'<\', \'/home/kevin/AV-labels/Results/R/hierarchical_clustering.R\'])
但这没有用,Python只是打开R而没有执行我的脚本。
没有找到相关结果
已邀请:
5 个回复
蹦吃舷弦
这对我有用。 干杯!
才脊烽馈低
完趣镐
哭木算
前端 运行脚本更容易;您可以直接传递脚本文件名 作为参数,并且不需要通过标准输入读取脚本。 您不需要仅将标准输出重定向到文件的外壳,就可以 直接用
做。 例:
赐黄
另外,为了使事情变得容易,您可以创建一个R可执行文件。为此,您只需要在脚本的第一行中添加它:
参考:通过Rscript或此链接将R用作脚本语言