我有一个r markdown文档和一个名为sim1.py的python脚本。我想将python代码导入一个块中。在某些情况下,我希望它运行,而在其他情况下,我只希望粘贴代码。
到目前为止,我已经尝试通过以下方式使用child
块选项:
```{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代码。这不会产生错误,但是也不会显示任何内容。
答案 0 :(得分:0)
我差点就吃了!正确的解决方案在所有位置的文档中:https://yihui.org/knitr/options/#code-chunk
```{python sim-1, code=readLines(sim_folder), eval=FALSE}
```