使用getPass的Rmarkdown密码

时间:2017-06-30 18:45:10

标签: r passwords r-markdown getpass

我正在RMarkdown中构建一个依赖于用户生成的密码的应用程序:

library(getPass)

pw <- getPass(msg = "Enter the Password, please!")

当我在R控制台中以交互方式运行所有代码时,getPass函数会暂停代码并提供一个弹出窗口,用户可以在其中输入密码。

但是,在RMarkdown中包含此代码时,编织过程不会因getPass停止工作而暂停。结果,代码在没有密码的情况下运行。在这种情况下,它会阻止应用程序连接到受密码保护的数据库。

您是否有人建议如何解决此问题?我搜索过类似的问题,但如果这是重复的话,那么我很抱歉。谢谢!

1 个答案:

答案 0 :(得分:0)

stated in comment中使用parameterized report

您的rmarkdown应该如下所示:

---
output: html_document
params:
  pwd:
    label: "Enter the Password, please!"
    value: ""
    input: password
---

Your password is `r params$pwd`

现在要么运行

rmarkdown::render("test.Rmd", params="ask")

或使用RStudio按钮“带有参数的编织器”:

where to klik