如何在rmarkdown块中导入和运行python文件?

斯科特·怀特

我有一个r markdown文档和一个名为sim1.py的python脚本。我想将python代码导入到块中。在某些情况下,我希望它运行,而在其他情况下,我只希望粘贴代码。

到目前为止,我已经尝试通过child以下方式使用chunk选项:

```{python, child=here::here("simulations", "sim1.py"), eval=FALSE}
```

运行上面的代码时,我没有收到任何错误,但没有输出。

当我运行以下代码

```{python, child=here::here("simulations", "sim1.py"), eval=TRUE}
```

我收到一个错误:

You can't use `macro parameter character #' in horizontal mode.
l.1938 #
        plt.savefig("test.pdf") 

错误指的是注释行。

关于如何做到这两者的任何想法:

  • 仅显示代码
  • 运行代码并显示代码和输出

编辑:我正在尝试的另一个选项是:

```{python sim-1, code=cat(readLines(sim_folder), sep = '\n'), eval=FALSE}
```

目的是读取文件的内容,然后将该内容粘贴到块的主体中​​,并使用python引擎对其进行评估。尽管在这种情况下,使用eval = FALSE它将仅将文件内容显示为有效的python代码。这不会产生错误,但是也不会显示任何内容。

斯科特·怀特

我差点就吃了!正确的解决方案在所有位置的文档中:https : //yihui.org/knitr/options/#code-chunk

```{python sim-1, code=readLines(sim_folder), eval=FALSE}
```

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章