【问题标题】:How to import and run a python file in an rmarkdown chunk?如何在 rmarkdown 块中导入和运行 python 文件?
【发布时间】:2020-03-14 08:00:30
【问题描述】:

我有一个 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 代码。这不会产生错误,但也不会显示任何内容。

【问题讨论】:

  • 我之前没用过python,但是你查过here还是here?
  • 是的,我已经检查过了。不是我想要的。
  • 我认为子文档也必须是 Markdown 文档...
  • 我不确定。你可能是对的。

标签: python r r-markdown


【解决方案1】:

我几乎拥有它!正确的解决方案在所有地方的文档中:https://yihui.org/knitr/options/#code-chunk

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

【讨论】:

    猜你喜欢
    • 2018-09-05
    • 1970-01-01
    • 2013-06-18
    • 1970-01-01
    • 2014-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多