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

标签 python r r-markdown

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

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

```{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}
```

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

最佳答案

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

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

关于python - 如何在 rmarkdown block 中导入和运行 python 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58923220/

相关文章:

r - R 中的种子限制

r - 根据观察复制和修改数据帧的行 [R]

r - 调整 Rmarkdown 文档中嵌入的 Shiny 应用程序的大小

python - 如何只读取 CSV 文件每一行的第一列

java - 从 Perl 或 Python 解析 Java 类

json - 如何将JSON导入R并将其转换为表?

r - ggplot 在多面图上有一些错误。尝试使用多面 ggplot 协调 y 值

css - 带有 kable 的字幕字体颜色

python - Python 和 Selenium 的授权异常

python - 我的笔记的 Sphinx 源位置 - 警告 : document isn't included in any toctree