如何在RStudio中运行Python脚本

5

我有一个问题,如何从Rstudio运行Python脚本?

我的初始想法是从GitHub存储库中获取Python脚本,然后在R中运行它。通过RCurl包中的script <- getURL(URL, ssl.verifypeer = FALSE)命令,我获取了Python代码,但我不知道如何在不将脚本存储为工作目录中的文件的情况下在Rstudio中运行变量 script

我确实知道可以使用_rPython_包中的python.load()帮助运行Python脚本,但它需要将.py文件作为第一个参数。 而我想找到一种不将Python脚本存储为文件的方法。

如果您有任何关于这个问题的想法,谢谢提前告知。


1
你能告诉我更多关于获取script对象的URL吗?script对象是什么样子的? - Fred Boehm
3
请查看reticulate软件包:https://blog.rstudio.com/2018/03/26/reticulate-r-interface-to-python/。 - ngm
如果您下载了脚本,那么您只需要输入 system("python path/to/script.py") 即可。 - lefft
@FredBoehm,可以通过单击Github存储库中的“Raw”按钮来查找任何Python代码的URL,例如链接,而script <- getURL(URL,ssl.verifypeer = FALSE)中的script是一个字符向量,它包含该URL中的所有内容(代码)。 - twang
我正在为reticulate添加URL源支持(Github拉取请求在此处)。一旦合并,您就可以直接使用reticulate::source_python()进行源操作。 - Yuan Tang
显示剩余4条评论
1个回答

2

请确保您正在运行一个R Markdown文件,并且已经安装了reticulate

加载并配置您的Python版本:

```{r setup, include = FALSE}
library(reticulate)
use_python("usr/local/bin/python")
```

然后,任何Python代码都可以按照以下方式调用:

```{python}
# write python
# code here
```

如果您创建了任何全局的Python对象并想要在R代码中使用它们,只需在前面加上py$即可;例如,在R块中访问由Python创建的名为my_data的数据框:

```{r}
head(py$my_data)
```

更多详情请点击此处


很好的开始。有没有一种方法可以调用带参数的脚本并只获取Python脚本的标准输出?例如,py_output <- %run ./mypythonscript.py arg1 arg2 ... - sAguinaga
我刚刚发现了这个:https://github.com/rstudio/reticulate。"源Python脚本-source_python()函数使您能够以与souce() R脚本相同的方式源Python脚本(在脚本中定义的Python函数和对象直接可用于R会话)。 - sAguinaga

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接