从Python(Windows)运行R脚本时出现问题
我最近开始为我的工作用python编程,所以我对它很陌生。我的目标是创建一个图形界面,以便用户可以运行我在R中开发的程序。该界面是使用python(3.3版)中的Tkinter模块完成的 当我必须从python调用R解释器来运行生成的R文件(run.R文件)时,问题就出现了。奇怪的是,这种情况只有在我尝试在Windows中运行脚本时才会发生,而不是在Linux中。在这两种情况下,我都试图使用python中的os模块 这是不适用于Windows的代码:从Python(Windows)运行R脚本时出现问题,python,r,windows,operating-system,Python,R,Windows,Operating System,我最近开始为我的工作用python编程,所以我对它很陌生。我的目标是创建一个图形界面,以便用户可以运行我在R中开发的程序。该界面是使用python(3.3版)中的Tkinter模块完成的 当我必须从python调用R解释器来运行生成的R文件(run.R文件)时,问题就出现了。奇怪的是,这种情况只有在我尝试在Windows中运行脚本时才会发生,而不是在Linux中。在这两种情况下,我都试图使用python中的os模块 这是不适用于Windows的代码: os.chdir(outRW) #fir
os.chdir(outRW) #first I change the working directory to the one where the run.R file is
os.system("C:\R-3.6.1\bin\Rscript run.R")
当我执行此操作时,它成功地更改了目录,但在调用R解释器时,它显示了以下错误:
The filename, directory name, or volume label syntax is incorrect.
但是,我已经尝试在Windows命令提示符下运行“C:\R-3.6.1\bin\Rscript run.R”命令,效果非常好。
我还尝试将R的路径添加到环境变量中,但我只能在命令提示符下使用,而不能在python中使用
我想我在这里遗漏了一些非常明显的东西,但我看不到
非常感谢您的任何帮助或意见
谢谢大家! 使用双反斜杠。
在R中,您需要使用双反斜杠\\
,否则它将尝试将其解释为转义字符
使用此选项,它将起作用:
os.system("C:\\R-3.6.1\\bin\\Rscript run.R")
希望这有帮助。使用双反斜杠。
在R中,您需要使用双反斜杠\\
,否则它将尝试将其解释为转义字符
使用此选项,它将起作用:
os.system("C:\\R-3.6.1\\bin\\Rscript run.R")
希望这有帮助。试试
os.system(“C:/R-3.6.1/bin/Rscript run.R”)
\r
是回车的转义序列,使用前斜杠可以避免任何转义。我还建议使用而不是os.system
。非常感谢!这也解决了问题!尝试os.system(“C:/R-3.6.1/bin/Rscript run.R”)
\r
是回车的转义序列,使用前斜杠可以避免任何转义。我还建议使用而不是os.system
。非常感谢!这也解决了问题!非常感谢你!它确实对我有用!现在我遇到了一个不同的问题,因为R告诉我它找不到这段代码所需的包,但是它已经安装好了,当我在提示符下运行相同的命令时,它就工作了。为什么现在会这样?不客气,很高兴它成功了!我认为另一个问题与第一个问题无关。打开一个新问题,我们将很乐意帮助您!:)非常感谢你!它确实对我有用!现在我遇到了一个不同的问题,因为R告诉我它找不到这段代码所需的包,但是它已经安装好了,当我在提示符下运行相同的命令时,它就工作了。为什么现在会这样?不客气,很高兴它成功了!我认为另一个问题与第一个问题无关。打开一个新问题,我们将很乐意帮助您!:)