我有一个 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/